; LLVM IR from turi-code/SFrame :: oss_test/graphlab/cuckootest.ll (Z33more_interesting_data_types_checkv)

; 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::__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] }
%"class.boost::unordered::unordered_map.16" = type { %"struct.boost::unordered::detail::table.17" }
%"struct.boost::unordered::detail::table.17" = type { %"class.boost::unordered::detail::functions.18", i64, i64, float, i64, ptr }
%"class.boost::unordered::detail::functions.18" = type { i8, [2 x %"struct.boost::detail::aligned_storage::aligned_storage_imp"] }
%"struct.boost::detail::aligned_storage::aligned_storage_imp" = type { %"union.boost::detail::aligned_storage::aligned_storage_imp<1, 1>::data_t" }
%"union.boost::detail::aligned_storage::aligned_storage_imp<1, 1>::data_t" = type { [1 x i8] }
%"class.graphlab::cuckoo_map_pow2.19" = type { %"class.std::__cxx11::basic_string", i64, i64, ptr, i64, %"class.boost::unordered::unordered_map.16", %"class.boost::random::rand48", %"class.boost::uniform_int", [8 x i8], i64 }
%"class.boost::random::rand48" = type { %"class.boost::random::linear_congruential_engine" }
%"class.boost::random::linear_congruential_engine" = type { i64 }
%"class.boost::uniform_int" = type { %"class.boost::random::uniform_int_distribution" }
%"class.boost::random::uniform_int_distribution" = type { i64, i64 }
%"class.std::allocator" = type { i8 }
%"struct.boost::hash.20" = type { i8 }
%"struct.std::equal_to.23" = type { i8 }
%"struct.boost::foreach_detail_::auto_any.25" = type { ptr }
%"struct.boost::foreach_detail_::auto_any.28" = type { %"struct.boost::unordered::iterator_detail::iterator.29" }
%"struct.boost::unordered::iterator_detail::iterator.29" = type { ptr }
%class.anon.32 = type { ptr, ptr }
%"struct.boost::foreach_detail_::auto_any.33" = type { ptr }
%"struct.boost::foreach_detail_::auto_any.36" = type { %"struct.graphlab::cuckoo_map_pow2<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>::iterator" }
%"struct.graphlab::cuckoo_map_pow2<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>::iterator" = type { ptr, i8, ptr, %"struct.boost::unordered::iterator_detail::iterator.29" }
%class.anon.37 = type { ptr, ptr }
%class.anon.38 = type { ptr, ptr }
%class.anon.39 = type { ptr, ptr }
%class.anon.40 = type { ptr, ptr }
%class.anon.41 = type { ptr, ptr }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"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.graphlab::oarchive" = type { ptr, ptr, ptr, ptr, i64, i64 }
%class.anon.42 = type { ptr }
%"class.graphlab::iarchive" = type { ptr, ptr, ptr, i64, i64 }
%class.anon.43 = type { ptr }
%class.anon.44 = type { ptr, ptr }
%class.anon.45 = type { ptr, ptr }
%class.anon.46 = type { ptr, ptr }
%"struct.std::pair.30" = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string" }

@.str.4 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [1 x i8], align 1
@__PRETTY_FUNCTION__._Z33more_interesting_data_types_checkv = external hidden unnamed_addr constant [41 x i8], align 1

declare i32 @__gxx_personality_v0(...)

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

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

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(none)
declare i64 @llvm.expect.i64(i64, i64) #1

; Function Attrs: noreturn nounwind
declare void @__assert_fail(ptr noundef, ptr noundef, i32 noundef, ptr noundef) #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1)) #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1)) #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z10randstringB5cxx11m(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i64 noundef) #5

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

; Function Attrs: mustprogress uwtable
define dso_local void @_Z33more_interesting_data_types_checkv() #5 personality ptr @__gxx_personality_v0 {
  %1 = alloca %"class.boost::unordered::unordered_map.16", align 8
  %2 = alloca %"class.graphlab::cuckoo_map_pow2.19", align 8
  %3 = alloca %"class.std::__cxx11::basic_string", align 8
  %4 = alloca %"class.std::allocator", align 1
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca %"struct.boost::hash.20", align 1
  %8 = alloca %"struct.std::equal_to.23", align 1
  %9 = alloca i64, align 8
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca ptr, align 8
  %12 = alloca %"struct.boost::foreach_detail_::auto_any.25", align 8
  %13 = alloca ptr, align 8
  %14 = alloca %"struct.boost::foreach_detail_::auto_any.28", align 8
  %15 = alloca ptr, align 8
  %16 = alloca %"struct.boost::foreach_detail_::auto_any.28", align 8
  %17 = alloca i8, align 1
  %18 = alloca i32, align 4
  %19 = alloca ptr, align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %class.anon.32, align 8
  %24 = alloca ptr, align 8
  %25 = alloca %"struct.boost::foreach_detail_::auto_any.33", align 8
  %26 = alloca ptr, align 8
  %27 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %28 = alloca ptr, align 8
  %29 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %30 = alloca i8, align 1
  %31 = alloca ptr, align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %class.anon.37, align 8
  %36 = alloca ptr, align 8
  %37 = alloca %"struct.boost::foreach_detail_::auto_any.33", align 8
  %38 = alloca ptr, align 8
  %39 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %40 = alloca ptr, align 8
  %41 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %42 = alloca i8, align 1
  %43 = alloca ptr, align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %class.anon.38, align 8
  %48 = alloca %"class.graphlab::cuckoo_map_pow2.19", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::allocator", align 1
  %51 = alloca %"struct.boost::hash.20", align 1
  %52 = alloca %"struct.std::equal_to.23", align 1
  %53 = alloca ptr, align 8
  %54 = alloca %"struct.boost::foreach_detail_::auto_any.25", align 8
  %55 = alloca ptr, align 8
  %56 = alloca %"struct.boost::foreach_detail_::auto_any.28", align 8
  %57 = alloca ptr, align 8
  %58 = alloca %"struct.boost::foreach_detail_::auto_any.28", align 8
  %59 = alloca i8, align 1
  %60 = alloca ptr, align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %class.anon.39, align 8
  %65 = alloca ptr, align 8
  %66 = alloca %"struct.boost::foreach_detail_::auto_any.33", align 8
  %67 = alloca ptr, align 8
  %68 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %69 = alloca ptr, align 8
  %70 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %71 = alloca i8, align 1
  %72 = alloca ptr, align 8
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %class.anon.40, align 8
  %77 = alloca ptr, align 8
  %78 = alloca %"struct.boost::foreach_detail_::auto_any.33", align 8
  %79 = alloca ptr, align 8
  %80 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %81 = alloca ptr, align 8
  %82 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %83 = alloca i8, align 1
  %84 = alloca ptr, align 8
  %85 = alloca %"class.std::__cxx11::basic_string", align 8
  %86 = alloca %"class.std::__cxx11::basic_string", align 8
  %87 = alloca %"class.std::__cxx11::basic_string", align 8
  %88 = alloca %class.anon.41, align 8
  %89 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %90 = alloca %"class.graphlab::oarchive", align 8
  %91 = alloca i64, align 8
  %92 = alloca i32, align 4
  %93 = alloca %class.anon.42, align 8
  %94 = alloca %"class.graphlab::iarchive", align 8
  %95 = alloca i64, align 8
  %96 = alloca i32, align 4
  %97 = alloca %class.anon.43, align 8
  %98 = alloca ptr, align 8
  %99 = alloca %"struct.boost::foreach_detail_::auto_any.25", align 8
  %100 = alloca ptr, align 8
  %101 = alloca %"struct.boost::foreach_detail_::auto_any.28", align 8
  %102 = alloca ptr, align 8
  %103 = alloca %"struct.boost::foreach_detail_::auto_any.28", align 8
  %104 = alloca i8, align 1
  %105 = alloca ptr, align 8
  %106 = alloca %"class.std::__cxx11::basic_string", align 8
  %107 = alloca %"class.std::__cxx11::basic_string", align 8
  %108 = alloca %"class.std::__cxx11::basic_string", align 8
  %109 = alloca %class.anon.44, align 8
  %110 = alloca ptr, align 8
  %111 = alloca %"struct.boost::foreach_detail_::auto_any.33", align 8
  %112 = alloca ptr, align 8
  %113 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %114 = alloca ptr, align 8
  %115 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %116 = alloca i8, align 1
  %117 = alloca ptr, align 8
  %118 = alloca %"class.std::__cxx11::basic_string", align 8
  %119 = alloca %"class.std::__cxx11::basic_string", align 8
  %120 = alloca %"class.std::__cxx11::basic_string", align 8
  %121 = alloca %class.anon.45, align 8
  %122 = alloca ptr, align 8
  %123 = alloca %"struct.boost::foreach_detail_::auto_any.33", align 8
  %124 = alloca ptr, align 8
  %125 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %126 = alloca ptr, align 8
  %127 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %128 = alloca i8, align 1
  %129 = alloca ptr, align 8
  %130 = alloca %"class.std::__cxx11::basic_string", align 8
  %131 = alloca %"class.std::__cxx11::basic_string", align 8
  %132 = alloca %"class.std::__cxx11::basic_string", align 8
  %133 = alloca %class.anon.46, align 8
  call void @llvm.lifetime.start.p0(i64 48, ptr %1) #8
  call void @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %1)
  call void @llvm.lifetime.start.p0(i64 152, ptr %2) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %4) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef @.str.13, ptr noundef nonnull align 1 dereferenceable(1) %4)
          to label %134 unwind label %140

134:                                              ; preds = %0
  call void @llvm.lifetime.start.p0(i64 1, ptr %7) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %8) #8
  invoke void @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EEC2ES6_mRKS9_RKSB_(ptr noundef nonnull align 8 dereferenceable(152) %2, ptr noundef %3, i64 noundef 8, ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef nonnull align 1 dereferenceable(1) %8)
          to label %135 unwind label %144

135:                                              ; preds = %134
  call void @llvm.lifetime.end.p0(i64 1, ptr %8) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %4) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #8
  store i64 0, ptr %9, align 8, !tbaa !5
  br label %136

136:                                              ; preds = %159, %135
  %137 = load i64, ptr %9, align 8, !tbaa !5
  %138 = icmp ult i64 %137, 10000
  br i1 %138, label %149, label %139

139:                                              ; preds = %136
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #8
  br label %171

140:                                              ; preds = %0
  %141 = landingpad { ptr, i32 }
          cleanup
  %142 = extractvalue { ptr, i32 } %141, 0
  store ptr %142, ptr %5, align 8
  %143 = extractvalue { ptr, i32 } %141, 1
  store i32 %143, ptr %6, align 4
  br label %148

144:                                              ; preds = %134
  %145 = landingpad { ptr, i32 }
          cleanup
  %146 = extractvalue { ptr, i32 } %145, 0
  store ptr %146, ptr %5, align 8
  %147 = extractvalue { ptr, i32 } %145, 1
  store i32 %147, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %8) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #8
  br label %148

148:                                              ; preds = %144, %140
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %4) #8
  br label %1608

149:                                              ; preds = %136
  call void @llvm.lifetime.start.p0(i64 32, ptr %10) #8
  invoke void @_Z10randstringB5cxx11m(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %10, i64 noundef 16)
          to label %150 unwind label %162

150:                                              ; preds = %149
  %151 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EEixERKS6_(ptr noundef nonnull align 8 dereferenceable(152) %2, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %152 unwind label %166

152:                                              ; preds = %150
  %153 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %151, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %154 unwind label %166

154:                                              ; preds = %152
  %155 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEixERSD_(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %156 unwind label %166

156:                                              ; preds = %154
  %157 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %155, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %158 unwind label %166

158:                                              ; preds = %156
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #8
  br label %159

159:                                              ; preds = %158
  %160 = load i64, ptr %9, align 8, !tbaa !5
  %161 = add i64 %160, 1
  store i64 %161, ptr %9, align 8, !tbaa !5
  br label %136, !llvm.loop !9

162:                                              ; preds = %149
  %163 = landingpad { ptr, i32 }
          cleanup
  %164 = extractvalue { ptr, i32 } %163, 0
  store ptr %164, ptr %5, align 8
  %165 = extractvalue { ptr, i32 } %163, 1
  store i32 %165, ptr %6, align 4
  br label %170

166:                                              ; preds = %156, %154, %152, %150
  %167 = landingpad { ptr, i32 }
          cleanup
  %168 = extractvalue { ptr, i32 } %167, 0
  store ptr %168, ptr %5, align 8
  %169 = extractvalue { ptr, i32 } %167, 1
  store i32 %169, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #8
  br label %170

170:                                              ; preds = %166, %162
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #8
  br label %1607

171:                                              ; preds = %139
  %172 = invoke noundef i64 @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(152) %2)
          to label %173 unwind label %177

173:                                              ; preds = %171
  %174 = icmp eq i64 %172, 10000
  br i1 %174, label %175, label %176

175:                                              ; preds = %173
  br label %182

176:                                              ; preds = %173
  call void @__assert_fail(ptr noundef @.str.6, ptr noundef @.str.4, i32 noundef 156, ptr noundef @__PRETTY_FUNCTION__._Z33more_interesting_data_types_checkv) #9
  unreachable

177:                                              ; preds = %171
  %178 = landingpad { ptr, i32 }
          cleanup
  %179 = extractvalue { ptr, i32 } %178, 0
  store ptr %179, ptr %5, align 8
  %180 = extractvalue { ptr, i32 } %178, 1
  store i32 %180, ptr %6, align 4
  br label %1607

181:                                              ; No predecessors!
  br label %182

182:                                              ; preds = %181, %175
  %183 = call noundef i64 @_ZNK5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %1) #8
  %184 = icmp eq i64 %183, 10000
  br i1 %184, label %185, label %186

185:                                              ; preds = %182
  br label %188

186:                                              ; preds = %182
  call void @__assert_fail(ptr noundef @.str.7, ptr noundef @.str.4, i32 noundef 157, ptr noundef @__PRETTY_FUNCTION__._Z33more_interesting_data_types_checkv) #9
  unreachable

187:                                              ; No predecessors!
  br label %188

188:                                              ; preds = %187, %185
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #8
  %189 = invoke ptr @_ZN5boost15foreach_detail_7containINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEEENS0_8auto_anyIPT_EERSK_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef null)
          to label %190 unwind label %196

190:                                              ; preds = %188
  %191 = getelementptr inbounds %"struct.boost::foreach_detail_::auto_any.25", ptr %12, i32 0, i32 0
  store ptr %189, ptr %191, align 8
  store ptr %12, ptr %11, align 8, !tbaa !11
  %192 = load ptr, ptr %11, align 8, !tbaa !11
  %193 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %192)
          to label %194 unwind label %200

194:                                              ; preds = %190
  br i1 %193, label %195, label %204

195:                                              ; preds = %194
  br label %336

196:                                              ; preds = %188
  %197 = landingpad { ptr, i32 }
          cleanup
  %198 = extractvalue { ptr, i32 } %197, 0
  store ptr %198, ptr %5, align 8
  %199 = extractvalue { ptr, i32 } %197, 1
  store i32 %199, ptr %6, align 4
  br label %345

200:                                              ; preds = %190
  %201 = landingpad { ptr, i32 }
          cleanup
  %202 = extractvalue { ptr, i32 } %201, 0
  store ptr %202, ptr %5, align 8
  %203 = extractvalue { ptr, i32 } %201, 1
  store i32 %203, ptr %6, align 4
  br label %344

204:                                              ; preds = %194
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #8
  %205 = load ptr, ptr %11, align 8, !tbaa !11
  %206 = invoke ptr @_ZN5boost15foreach_detail_5beginINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISO_SP_EEPSL_(ptr noundef nonnull align 1 dereferenceable(1) %205, ptr noundef null, ptr noundef null)
          to label %207 unwind label %214

207:                                              ; preds = %204
  %208 = getelementptr inbounds %"struct.boost::foreach_detail_::auto_any.28", ptr %14, i32 0, i32 0
  %209 = getelementptr inbounds %"struct.boost::unordered::iterator_detail::iterator.29", ptr %208, i32 0, i32 0
  store ptr %206, ptr %209, align 8
  store ptr %14, ptr %13, align 8, !tbaa !11
  %210 = load ptr, ptr %13, align 8, !tbaa !11
  %211 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %210)
          to label %212 unwind label %218

212:                                              ; preds = %207
  br i1 %211, label %213, label %222

213:                                              ; preds = %212
  br label %333

214:                                              ; preds = %204
  %215 = landingpad { ptr, i32 }
          cleanup
  %216 = extractvalue { ptr, i32 } %215, 0
  store ptr %216, ptr %5, align 8
  %217 = extractvalue { ptr, i32 } %215, 1
  store i32 %217, ptr %6, align 4
  br label %335

218:                                              ; preds = %207
  %219 = landingpad { ptr, i32 }
          cleanup
  %220 = extractvalue { ptr, i32 } %219, 0
  store ptr %220, ptr %5, align 8
  %221 = extractvalue { ptr, i32 } %219, 1
  store i32 %221, ptr %6, align 4
  br label %334

222:                                              ; preds = %212
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #8
  %223 = load ptr, ptr %11, align 8, !tbaa !11
  %224 = invoke ptr @_ZN5boost15foreach_detail_3endINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISO_SP_EEPSL_(ptr noundef nonnull align 1 dereferenceable(1) %223, ptr noundef null, ptr noundef null)
          to label %225 unwind label %232

225:                                              ; preds = %222
  %226 = getelementptr inbounds %"struct.boost::foreach_detail_::auto_any.28", ptr %16, i32 0, i32 0
  %227 = getelementptr inbounds %"struct.boost::unordered::iterator_detail::iterator.29", ptr %226, i32 0, i32 0
  store ptr %224, ptr %227, align 8
  store ptr %16, ptr %15, align 8, !tbaa !11
  %228 = load ptr, ptr %15, align 8, !tbaa !11
  %229 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %228)
          to label %230 unwind label %236

230:                                              ; preds = %225
  br i1 %229, label %231, label %240

231:                                              ; preds = %230
  br label %330

232:                                              ; preds = %222
  %233 = landingpad { ptr, i32 }
          cleanup
  %234 = extractvalue { ptr, i32 } %233, 0
  store ptr %234, ptr %5, align 8
  %235 = extractvalue { ptr, i32 } %233, 1
  store i32 %235, ptr %6, align 4
  br label %332

236:                                              ; preds = %225
  %237 = landingpad { ptr, i32 }
          cleanup
  %238 = extractvalue { ptr, i32 } %237, 0
  store ptr %238, ptr %5, align 8
  %239 = extractvalue { ptr, i32 } %237, 1
  store i32 %239, ptr %6, align 4
  br label %331

240:                                              ; preds = %230
  call void @llvm.lifetime.start.p0(i64 1, ptr %17) #8
  store i8 1, ptr %17, align 1, !tbaa !13
  br label %241

241:                                              ; preds = %327, %240
  %242 = load i8, ptr %17, align 1, !tbaa !13, !range !15, !noundef !16
  %243 = trunc i8 %242 to i1
  br i1 %243, label %244, label %250

244:                                              ; preds = %241
  %245 = load ptr, ptr %13, align 8, !tbaa !11
  %246 = load ptr, ptr %15, align 8, !tbaa !11
  %247 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_4doneINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESO_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %245, ptr noundef nonnull align 1 dereferenceable(1) %246, ptr noundef null)
          to label %248 unwind label %253

248:                                              ; preds = %244
  %249 = xor i1 %247, true
  br label %250

250:                                              ; preds = %248, %241
  %251 = phi i1 [ false, %241 ], [ %249, %248 ]
  br i1 %251, label %257, label %252

252:                                              ; preds = %250
  store i32 5, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #8
  br label %329

253:                                              ; preds = %323, %257, %244
  %254 = landingpad { ptr, i32 }
          cleanup
  %255 = extractvalue { ptr, i32 } %254, 0
  store ptr %255, ptr %5, align 8
  %256 = extractvalue { ptr, i32 } %254, 1
  store i32 %256, ptr %6, align 4
  br label %328

257:                                              ; preds = %250
  %258 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1) %17)
          to label %259 unwind label %253

259:                                              ; preds = %257
  br i1 %258, label %260, label %261

260:                                              ; preds = %259
  br label %319

261:                                              ; preds = %259
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #8
  %262 = load ptr, ptr %13, align 8, !tbaa !11
  %263 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISN_SO_EE(ptr noundef nonnull align 1 dereferenceable(1) %262, ptr noundef null)
          to label %264 unwind label %270

264:                                              ; preds = %261
  store ptr %263, ptr %19, align 8, !tbaa !11
  br label %265

265:                                              ; preds = %313, %264
  %266 = load i8, ptr %17, align 1, !tbaa !13, !range !15, !noundef !16
  %267 = trunc i8 %266 to i1
  %268 = xor i1 %267, true
  br i1 %268, label %274, label %269

269:                                              ; preds = %265
  store i32 8, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #8
  br label %318

270:                                              ; preds = %261
  %271 = landingpad { ptr, i32 }
          cleanup
  %272 = extractvalue { ptr, i32 } %271, 0
  store ptr %272, ptr %5, align 8
  %273 = extractvalue { ptr, i32 } %271, 1
  store i32 %273, ptr %6, align 4
  br label %317

274:                                              ; preds = %265
  br label %275

275:                                              ; preds = %274
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #8
  %276 = load ptr, ptr %19, align 8, !tbaa !11
  %277 = getelementptr inbounds %"struct.std::pair.30", ptr %276, i32 0, i32 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %277)
          to label %278 unwind label %294

278:                                              ; preds = %275
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #8
  %279 = load ptr, ptr %19, align 8, !tbaa !11
  %280 = getelementptr inbounds %"struct.std::pair.30", ptr %279, i32 0, i32 0
  %281 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EEixERKS6_(ptr noundef nonnull align 8 dereferenceable(152) %2, ptr noundef nonnull align 8 dereferenceable(32) %280)
          to label %282 unwind label %298

282:                                              ; preds = %278
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %281)
          to label %283 unwind label %298

283:                                              ; preds = %282
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %284 unwind label %302

284:                                              ; preds = %283
  %285 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  %286 = xor i1 %285, true
  %287 = zext i1 %286 to i64
  %288 = call i64 @llvm.expect.i64(i64 %287, i64 0)
  %289 = icmp ne i64 %288, 0
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #8
  br i1 %289, label %290, label %310

290:                                              ; preds = %284
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #8
  %291 = getelementptr inbounds %class.anon.32, ptr %23, i32 0, i32 0
  store ptr %20, ptr %291, align 8, !tbaa !11
  %292 = getelementptr inbounds %class.anon.32, ptr %23, i32 0, i32 1
  store ptr %21, ptr %292, align 8, !tbaa !11
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_0clEv"(ptr noundef nonnull align 8 dereferenceable(16) %23)
          to label %293 unwind label %306

293:                                              ; preds = %290
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #8
  br label %310

294:                                              ; preds = %275
  %295 = landingpad { ptr, i32 }
          cleanup
  %296 = extractvalue { ptr, i32 } %295, 0
  store ptr %296, ptr %5, align 8
  %297 = extractvalue { ptr, i32 } %295, 1
  store i32 %297, ptr %6, align 4
  br label %316

298:                                              ; preds = %282, %278
  %299 = landingpad { ptr, i32 }
          cleanup
  %300 = extractvalue { ptr, i32 } %299, 0
  store ptr %300, ptr %5, align 8
  %301 = extractvalue { ptr, i32 } %299, 1
  store i32 %301, ptr %6, align 4
  br label %315

302:                                              ; preds = %283
  %303 = landingpad { ptr, i32 }
          cleanup
  %304 = extractvalue { ptr, i32 } %303, 0
  store ptr %304, ptr %5, align 8
  %305 = extractvalue { ptr, i32 } %303, 1
  store i32 %305, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #8
  br label %314

306:                                              ; preds = %290
  %307 = landingpad { ptr, i32 }
          cleanup
  %308 = extractvalue { ptr, i32 } %307, 0
  store ptr %308, ptr %5, align 8
  %309 = extractvalue { ptr, i32 } %307, 1
  store i32 %309, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #8
  br label %314

310:                                              ; preds = %293, %284
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #8
  br label %311

311:                                              ; preds = %310
  br label %312

312:                                              ; preds = %311
  br label %313

313:                                              ; preds = %312
  store i8 1, ptr %17, align 1, !tbaa !13
  br label %265, !llvm.loop !17

314:                                              ; preds = %306, %302
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #8
  br label %315

315:                                              ; preds = %314, %298
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  br label %316

316:                                              ; preds = %315, %294
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #8
  br label %317

317:                                              ; preds = %316, %270
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #8
  br label %328

318:                                              ; preds = %269
  br label %319

319:                                              ; preds = %318, %260
  br label %320

320:                                              ; preds = %319
  %321 = load i8, ptr %17, align 1, !tbaa !13, !range !15, !noundef !16
  %322 = trunc i8 %321 to i1
  br i1 %322, label %323, label %326

323:                                              ; preds = %320
  %324 = load ptr, ptr %13, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_4nextINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %324, ptr noundef null)
          to label %325 unwind label %253

325:                                              ; preds = %323
  br label %327

326:                                              ; preds = %320
  br label %327

327:                                              ; preds = %326, %325
  br label %241, !llvm.loop !18

328:                                              ; preds = %317, %253
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #8
  br label %331

329:                                              ; preds = %252
  br label %330

330:                                              ; preds = %329, %231
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #8
  br label %333

331:                                              ; preds = %328, %236
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #8
  br label %332

332:                                              ; preds = %331, %232
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #8
  br label %334

333:                                              ; preds = %330, %213
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #8
  br label %336

334:                                              ; preds = %332, %218
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #8
  br label %335

335:                                              ; preds = %334, %214
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #8
  br label %344

336:                                              ; preds = %333, %195
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #8
  %337 = invoke ptr @_ZN5boost15foreach_detail_7containIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEEENS0_8auto_anyIPT_EERSG_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(152) %2, ptr noundef null)
          to label %338 unwind label %346

338:                                              ; preds = %336
  %339 = getelementptr inbounds %"struct.boost::foreach_detail_::auto_any.33", ptr %25, i32 0, i32 0
  store ptr %337, ptr %339, align 8
  store ptr %25, ptr %24, align 8, !tbaa !11
  %340 = load ptr, ptr %24, align 8, !tbaa !11
  %341 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %340)
          to label %342 unwind label %350

342:                                              ; preds = %338
  br i1 %341, label %343, label %354

343:                                              ; preds = %342
  br label %480

344:                                              ; preds = %335, %200
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #8
  br label %345

345:                                              ; preds = %344, %196
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #8
  br label %1607

346:                                              ; preds = %336
  %347 = landingpad { ptr, i32 }
          cleanup
  %348 = extractvalue { ptr, i32 } %347, 0
  store ptr %348, ptr %5, align 8
  %349 = extractvalue { ptr, i32 } %347, 1
  store i32 %349, ptr %6, align 4
  br label %489

350:                                              ; preds = %338
  %351 = landingpad { ptr, i32 }
          cleanup
  %352 = extractvalue { ptr, i32 } %351, 0
  store ptr %352, ptr %5, align 8
  %353 = extractvalue { ptr, i32 } %351, 1
  store i32 %353, ptr %6, align 4
  br label %488

354:                                              ; preds = %342
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #8
  %355 = load ptr, ptr %24, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_5beginIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %27, ptr noundef nonnull align 1 dereferenceable(1) %355, ptr noundef null, ptr noundef null)
          to label %356 unwind label %361

356:                                              ; preds = %354
  store ptr %27, ptr %26, align 8, !tbaa !11
  %357 = load ptr, ptr %26, align 8, !tbaa !11
  %358 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %357)
          to label %359 unwind label %365

359:                                              ; preds = %356
  br i1 %358, label %360, label %369

360:                                              ; preds = %359
  br label %477

361:                                              ; preds = %354
  %362 = landingpad { ptr, i32 }
          cleanup
  %363 = extractvalue { ptr, i32 } %362, 0
  store ptr %363, ptr %5, align 8
  %364 = extractvalue { ptr, i32 } %362, 1
  store i32 %364, ptr %6, align 4
  br label %479

365:                                              ; preds = %356
  %366 = landingpad { ptr, i32 }
          cleanup
  %367 = extractvalue { ptr, i32 } %366, 0
  store ptr %367, ptr %5, align 8
  %368 = extractvalue { ptr, i32 } %366, 1
  store i32 %368, ptr %6, align 4
  br label %478

369:                                              ; preds = %359
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #8
  %370 = load ptr, ptr %24, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_3endIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %29, ptr noundef nonnull align 1 dereferenceable(1) %370, ptr noundef null, ptr noundef null)
          to label %371 unwind label %376

371:                                              ; preds = %369
  store ptr %29, ptr %28, align 8, !tbaa !11
  %372 = load ptr, ptr %28, align 8, !tbaa !11
  %373 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %372)
          to label %374 unwind label %380

374:                                              ; preds = %371
  br i1 %373, label %375, label %384

375:                                              ; preds = %374
  br label %474

376:                                              ; preds = %369
  %377 = landingpad { ptr, i32 }
          cleanup
  %378 = extractvalue { ptr, i32 } %377, 0
  store ptr %378, ptr %5, align 8
  %379 = extractvalue { ptr, i32 } %377, 1
  store i32 %379, ptr %6, align 4
  br label %476

380:                                              ; preds = %371
  %381 = landingpad { ptr, i32 }
          cleanup
  %382 = extractvalue { ptr, i32 } %381, 0
  store ptr %382, ptr %5, align 8
  %383 = extractvalue { ptr, i32 } %381, 1
  store i32 %383, ptr %6, align 4
  br label %475

384:                                              ; preds = %374
  call void @llvm.lifetime.start.p0(i64 1, ptr %30) #8
  store i8 1, ptr %30, align 1, !tbaa !13
  br label %385

385:                                              ; preds = %471, %384
  %386 = load i8, ptr %30, align 1, !tbaa !13, !range !15, !noundef !16
  %387 = trunc i8 %386 to i1
  br i1 %387, label %388, label %394

388:                                              ; preds = %385
  %389 = load ptr, ptr %26, align 8, !tbaa !11
  %390 = load ptr, ptr %28, align 8, !tbaa !11
  %391 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_4doneIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESK_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %389, ptr noundef nonnull align 1 dereferenceable(1) %390, ptr noundef null)
          to label %392 unwind label %397

392:                                              ; preds = %388
  %393 = xor i1 %391, true
  br label %394

394:                                              ; preds = %392, %385
  %395 = phi i1 [ false, %385 ], [ %393, %392 ]
  br i1 %395, label %401, label %396

396:                                              ; preds = %394
  store i32 13, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #8
  br label %473

397:                                              ; preds = %467, %401, %388
  %398 = landingpad { ptr, i32 }
          cleanup
  %399 = extractvalue { ptr, i32 } %398, 0
  store ptr %399, ptr %5, align 8
  %400 = extractvalue { ptr, i32 } %398, 1
  store i32 %400, ptr %6, align 4
  br label %472

401:                                              ; preds = %394
  %402 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %403 unwind label %397

403:                                              ; preds = %401
  br i1 %402, label %404, label %405

404:                                              ; preds = %403
  br label %463

405:                                              ; preds = %403
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #8
  %406 = load ptr, ptr %26, align 8, !tbaa !11
  %407 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISJ_SK_EE(ptr noundef nonnull align 1 dereferenceable(1) %406, ptr noundef null)
          to label %408 unwind label %414

408:                                              ; preds = %405
  store ptr %407, ptr %31, align 8, !tbaa !11
  br label %409

409:                                              ; preds = %457, %408
  %410 = load i8, ptr %30, align 1, !tbaa !13, !range !15, !noundef !16
  %411 = trunc i8 %410 to i1
  %412 = xor i1 %411, true
  br i1 %412, label %418, label %413

413:                                              ; preds = %409
  store i32 16, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #8
  br label %462

414:                                              ; preds = %405
  %415 = landingpad { ptr, i32 }
          cleanup
  %416 = extractvalue { ptr, i32 } %415, 0
  store ptr %416, ptr %5, align 8
  %417 = extractvalue { ptr, i32 } %415, 1
  store i32 %417, ptr %6, align 4
  br label %461

418:                                              ; preds = %409
  br label %419

419:                                              ; preds = %418
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #8
  %420 = load ptr, ptr %31, align 8, !tbaa !11
  %421 = getelementptr inbounds %"struct.std::pair.30", ptr %420, i32 0, i32 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull align 8 dereferenceable(32) %421)
          to label %422 unwind label %438

422:                                              ; preds = %419
  call void @llvm.lifetime.start.p0(i64 32, ptr %33) #8
  %423 = load ptr, ptr %31, align 8, !tbaa !11
  %424 = getelementptr inbounds %"struct.std::pair.30", ptr %423, i32 0, i32 0
  %425 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEixERSD_(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(32) %424)
          to label %426 unwind label %442

426:                                              ; preds = %422
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(32) %425)
          to label %427 unwind label %442

427:                                              ; preds = %426
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %428 unwind label %446

428:                                              ; preds = %427
  %429 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull align 8 dereferenceable(32) %34) #8
  %430 = xor i1 %429, true
  %431 = zext i1 %430 to i64
  %432 = call i64 @llvm.expect.i64(i64 %431, i64 0)
  %433 = icmp ne i64 %432, 0
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #8
  br i1 %433, label %434, label %454

434:                                              ; preds = %428
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #8
  %435 = getelementptr inbounds %class.anon.37, ptr %35, i32 0, i32 0
  store ptr %32, ptr %435, align 8, !tbaa !11
  %436 = getelementptr inbounds %class.anon.37, ptr %35, i32 0, i32 1
  store ptr %33, ptr %436, align 8, !tbaa !11
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_1clEv"(ptr noundef nonnull align 8 dereferenceable(16) %35)
          to label %437 unwind label %450

437:                                              ; preds = %434
  call void @llvm.lifetime.end.p0(i64 16, ptr %35) #8
  br label %454

438:                                              ; preds = %419
  %439 = landingpad { ptr, i32 }
          cleanup
  %440 = extractvalue { ptr, i32 } %439, 0
  store ptr %440, ptr %5, align 8
  %441 = extractvalue { ptr, i32 } %439, 1
  store i32 %441, ptr %6, align 4
  br label %460

442:                                              ; preds = %426, %422
  %443 = landingpad { ptr, i32 }
          cleanup
  %444 = extractvalue { ptr, i32 } %443, 0
  store ptr %444, ptr %5, align 8
  %445 = extractvalue { ptr, i32 } %443, 1
  store i32 %445, ptr %6, align 4
  br label %459

446:                                              ; preds = %427
  %447 = landingpad { ptr, i32 }
          cleanup
  %448 = extractvalue { ptr, i32 } %447, 0
  store ptr %448, ptr %5, align 8
  %449 = extractvalue { ptr, i32 } %447, 1
  store i32 %449, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #8
  br label %458

450:                                              ; preds = %434
  %451 = landingpad { ptr, i32 }
          cleanup
  %452 = extractvalue { ptr, i32 } %451, 0
  store ptr %452, ptr %5, align 8
  %453 = extractvalue { ptr, i32 } %451, 1
  store i32 %453, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %35) #8
  br label %458

454:                                              ; preds = %437, %428
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #8
  br label %455

455:                                              ; preds = %454
  br label %456

456:                                              ; preds = %455
  br label %457

457:                                              ; preds = %456
  store i8 1, ptr %30, align 1, !tbaa !13
  br label %409, !llvm.loop !19

458:                                              ; preds = %450, %446
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  br label %459

459:                                              ; preds = %458, %442
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #8
  br label %460

460:                                              ; preds = %459, %438
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #8
  br label %461

461:                                              ; preds = %460, %414
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #8
  br label %472

462:                                              ; preds = %413
  br label %463

463:                                              ; preds = %462, %404
  br label %464

464:                                              ; preds = %463
  %465 = load i8, ptr %30, align 1, !tbaa !13, !range !15, !noundef !16
  %466 = trunc i8 %465 to i1
  br i1 %466, label %467, label %470

467:                                              ; preds = %464
  %468 = load ptr, ptr %26, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_4nextIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %468, ptr noundef null)
          to label %469 unwind label %397

469:                                              ; preds = %467
  br label %471

470:                                              ; preds = %464
  br label %471

471:                                              ; preds = %470, %469
  br label %385, !llvm.loop !20

472:                                              ; preds = %461, %397
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #8
  br label %475

473:                                              ; preds = %396
  br label %474

474:                                              ; preds = %473, %375
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #8
  br label %477

475:                                              ; preds = %472, %380
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #8
  br label %476

476:                                              ; preds = %475, %376
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #8
  br label %478

477:                                              ; preds = %474, %360
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #8
  br label %480

478:                                              ; preds = %476, %365
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #8
  br label %479

479:                                              ; preds = %478, %361
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #8
  br label %488

480:                                              ; preds = %477, %343
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #8
  %481 = invoke ptr @_ZN5boost15foreach_detail_7containIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEEENS0_8auto_anyIPT_EERSG_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(152) %2, ptr noundef null)
          to label %482 unwind label %490

482:                                              ; preds = %480
  %483 = getelementptr inbounds %"struct.boost::foreach_detail_::auto_any.33", ptr %37, i32 0, i32 0
  store ptr %481, ptr %483, align 8
  store ptr %37, ptr %36, align 8, !tbaa !11
  %484 = load ptr, ptr %36, align 8, !tbaa !11
  %485 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %484)
          to label %486 unwind label %494

486:                                              ; preds = %482
  br i1 %485, label %487, label %498

487:                                              ; preds = %486
  br label %624

488:                                              ; preds = %479, %350
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  br label %489

489:                                              ; preds = %488, %346
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  br label %1607

490:                                              ; preds = %480
  %491 = landingpad { ptr, i32 }
          cleanup
  %492 = extractvalue { ptr, i32 } %491, 0
  store ptr %492, ptr %5, align 8
  %493 = extractvalue { ptr, i32 } %491, 1
  store i32 %493, ptr %6, align 4
  br label %637

494:                                              ; preds = %482
  %495 = landingpad { ptr, i32 }
          cleanup
  %496 = extractvalue { ptr, i32 } %495, 0
  store ptr %496, ptr %5, align 8
  %497 = extractvalue { ptr, i32 } %495, 1
  store i32 %497, ptr %6, align 4
  br label %636

498:                                              ; preds = %486
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #8
  %499 = load ptr, ptr %36, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_5beginIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %39, ptr noundef nonnull align 1 dereferenceable(1) %499, ptr noundef null, ptr noundef null)
          to label %500 unwind label %505

500:                                              ; preds = %498
  store ptr %39, ptr %38, align 8, !tbaa !11
  %501 = load ptr, ptr %38, align 8, !tbaa !11
  %502 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %501)
          to label %503 unwind label %509

503:                                              ; preds = %500
  br i1 %502, label %504, label %513

504:                                              ; preds = %503
  br label %621

505:                                              ; preds = %498
  %506 = landingpad { ptr, i32 }
          cleanup
  %507 = extractvalue { ptr, i32 } %506, 0
  store ptr %507, ptr %5, align 8
  %508 = extractvalue { ptr, i32 } %506, 1
  store i32 %508, ptr %6, align 4
  br label %623

509:                                              ; preds = %500
  %510 = landingpad { ptr, i32 }
          cleanup
  %511 = extractvalue { ptr, i32 } %510, 0
  store ptr %511, ptr %5, align 8
  %512 = extractvalue { ptr, i32 } %510, 1
  store i32 %512, ptr %6, align 4
  br label %622

513:                                              ; preds = %503
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #8
  %514 = load ptr, ptr %36, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_3endIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %41, ptr noundef nonnull align 1 dereferenceable(1) %514, ptr noundef null, ptr noundef null)
          to label %515 unwind label %520

515:                                              ; preds = %513
  store ptr %41, ptr %40, align 8, !tbaa !11
  %516 = load ptr, ptr %40, align 8, !tbaa !11
  %517 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %516)
          to label %518 unwind label %524

518:                                              ; preds = %515
  br i1 %517, label %519, label %528

519:                                              ; preds = %518
  br label %618

520:                                              ; preds = %513
  %521 = landingpad { ptr, i32 }
          cleanup
  %522 = extractvalue { ptr, i32 } %521, 0
  store ptr %522, ptr %5, align 8
  %523 = extractvalue { ptr, i32 } %521, 1
  store i32 %523, ptr %6, align 4
  br label %620

524:                                              ; preds = %515
  %525 = landingpad { ptr, i32 }
          cleanup
  %526 = extractvalue { ptr, i32 } %525, 0
  store ptr %526, ptr %5, align 8
  %527 = extractvalue { ptr, i32 } %525, 1
  store i32 %527, ptr %6, align 4
  br label %619

528:                                              ; preds = %518
  call void @llvm.lifetime.start.p0(i64 1, ptr %42) #8
  store i8 1, ptr %42, align 1, !tbaa !13
  br label %529

529:                                              ; preds = %615, %528
  %530 = load i8, ptr %42, align 1, !tbaa !13, !range !15, !noundef !16
  %531 = trunc i8 %530 to i1
  br i1 %531, label %532, label %538

532:                                              ; preds = %529
  %533 = load ptr, ptr %38, align 8, !tbaa !11
  %534 = load ptr, ptr %40, align 8, !tbaa !11
  %535 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_4doneIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESK_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %533, ptr noundef nonnull align 1 dereferenceable(1) %534, ptr noundef null)
          to label %536 unwind label %541

536:                                              ; preds = %532
  %537 = xor i1 %535, true
  br label %538

538:                                              ; preds = %536, %529
  %539 = phi i1 [ false, %529 ], [ %537, %536 ]
  br i1 %539, label %545, label %540

540:                                              ; preds = %538
  store i32 21, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #8
  br label %617

541:                                              ; preds = %611, %545, %532
  %542 = landingpad { ptr, i32 }
          cleanup
  %543 = extractvalue { ptr, i32 } %542, 0
  store ptr %543, ptr %5, align 8
  %544 = extractvalue { ptr, i32 } %542, 1
  store i32 %544, ptr %6, align 4
  br label %616

545:                                              ; preds = %538
  %546 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %547 unwind label %541

547:                                              ; preds = %545
  br i1 %546, label %548, label %549

548:                                              ; preds = %547
  br label %607

549:                                              ; preds = %547
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #8
  %550 = load ptr, ptr %38, align 8, !tbaa !11
  %551 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISJ_SK_EE(ptr noundef nonnull align 1 dereferenceable(1) %550, ptr noundef null)
          to label %552 unwind label %558

552:                                              ; preds = %549
  store ptr %551, ptr %43, align 8, !tbaa !11
  br label %553

553:                                              ; preds = %601, %552
  %554 = load i8, ptr %42, align 1, !tbaa !13, !range !15, !noundef !16
  %555 = trunc i8 %554 to i1
  %556 = xor i1 %555, true
  br i1 %556, label %562, label %557

557:                                              ; preds = %553
  store i32 24, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #8
  br label %606

558:                                              ; preds = %549
  %559 = landingpad { ptr, i32 }
          cleanup
  %560 = extractvalue { ptr, i32 } %559, 0
  store ptr %560, ptr %5, align 8
  %561 = extractvalue { ptr, i32 } %559, 1
  store i32 %561, ptr %6, align 4
  br label %605

562:                                              ; preds = %553
  br label %563

563:                                              ; preds = %562
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #8
  %564 = load ptr, ptr %43, align 8, !tbaa !11
  %565 = getelementptr inbounds %"struct.std::pair.30", ptr %564, i32 0, i32 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 8 dereferenceable(32) %565)
          to label %566 unwind label %582

566:                                              ; preds = %563
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #8
  %567 = load ptr, ptr %43, align 8, !tbaa !11
  %568 = getelementptr inbounds %"struct.std::pair.30", ptr %567, i32 0, i32 0
  %569 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEixERSD_(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(32) %568)
          to label %570 unwind label %586

570:                                              ; preds = %566
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 8 dereferenceable(32) %569)
          to label %571 unwind label %586

571:                                              ; preds = %570
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %572 unwind label %590

572:                                              ; preds = %571
  %573 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  %574 = xor i1 %573, true
  %575 = zext i1 %574 to i64
  %576 = call i64 @llvm.expect.i64(i64 %575, i64 0)
  %577 = icmp ne i64 %576, 0
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #8
  br i1 %577, label %578, label %598

578:                                              ; preds = %572
  call void @llvm.lifetime.start.p0(i64 16, ptr %47) #8
  %579 = getelementptr inbounds %class.anon.38, ptr %47, i32 0, i32 0
  store ptr %44, ptr %579, align 8, !tbaa !11
  %580 = getelementptr inbounds %class.anon.38, ptr %47, i32 0, i32 1
  store ptr %45, ptr %580, align 8, !tbaa !11
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_2clEv"(ptr noundef nonnull align 8 dereferenceable(16) %47)
          to label %581 unwind label %594

581:                                              ; preds = %578
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #8
  br label %598

582:                                              ; preds = %563
  %583 = landingpad { ptr, i32 }
          cleanup
  %584 = extractvalue { ptr, i32 } %583, 0
  store ptr %584, ptr %5, align 8
  %585 = extractvalue { ptr, i32 } %583, 1
  store i32 %585, ptr %6, align 4
  br label %604

586:                                              ; preds = %570, %566
  %587 = landingpad { ptr, i32 }
          cleanup
  %588 = extractvalue { ptr, i32 } %587, 0
  store ptr %588, ptr %5, align 8
  %589 = extractvalue { ptr, i32 } %587, 1
  store i32 %589, ptr %6, align 4
  br label %603

590:                                              ; preds = %571
  %591 = landingpad { ptr, i32 }
          cleanup
  %592 = extractvalue { ptr, i32 } %591, 0
  store ptr %592, ptr %5, align 8
  %593 = extractvalue { ptr, i32 } %591, 1
  store i32 %593, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #8
  br label %602

594:                                              ; preds = %578
  %595 = landingpad { ptr, i32 }
          cleanup
  %596 = extractvalue { ptr, i32 } %595, 0
  store ptr %596, ptr %5, align 8
  %597 = extractvalue { ptr, i32 } %595, 1
  store i32 %597, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #8
  br label %602

598:                                              ; preds = %581, %572
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  br label %599

599:                                              ; preds = %598
  br label %600

600:                                              ; preds = %599
  br label %601

601:                                              ; preds = %600
  store i8 1, ptr %42, align 1, !tbaa !13
  br label %553, !llvm.loop !21

602:                                              ; preds = %594, %590
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #8
  br label %603

603:                                              ; preds = %602, %586
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  br label %604

604:                                              ; preds = %603, %582
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  br label %605

605:                                              ; preds = %604, %558
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #8
  br label %616

606:                                              ; preds = %557
  br label %607

607:                                              ; preds = %606, %548
  br label %608

608:                                              ; preds = %607
  %609 = load i8, ptr %42, align 1, !tbaa !13, !range !15, !noundef !16
  %610 = trunc i8 %609 to i1
  br i1 %610, label %611, label %614

611:                                              ; preds = %608
  %612 = load ptr, ptr %38, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_4nextIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %612, ptr noundef null)
          to label %613 unwind label %541

613:                                              ; preds = %611
  br label %615

614:                                              ; preds = %608
  br label %615

615:                                              ; preds = %614, %613
  br label %529, !llvm.loop !22

616:                                              ; preds = %605, %541
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #8
  br label %619

617:                                              ; preds = %540
  br label %618

618:                                              ; preds = %617, %519
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #8
  br label %621

619:                                              ; preds = %616, %524
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #8
  br label %620

620:                                              ; preds = %619, %520
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #8
  br label %622

621:                                              ; preds = %618, %504
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #8
  br label %624

622:                                              ; preds = %620, %509
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #8
  br label %623

623:                                              ; preds = %622, %505
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #8
  br label %636

624:                                              ; preds = %621, %487
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  call void @llvm.lifetime.start.p0(i64 152, ptr %48) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %50) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef @.str.13, ptr noundef nonnull align 1 dereferenceable(1) %50)
          to label %625 unwind label %638

625:                                              ; preds = %624
  call void @llvm.lifetime.start.p0(i64 1, ptr %51) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %52) #8
  invoke void @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EEC2ES6_mRKS9_RKSB_(ptr noundef nonnull align 8 dereferenceable(152) %48, ptr noundef %49, i64 noundef 8, ptr noundef nonnull align 1 dereferenceable(1) %51, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %626 unwind label %642

626:                                              ; preds = %625
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #8
  %627 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EEaSERKSC_(ptr noundef nonnull align 8 dereferenceable(152) %48, ptr noundef nonnull align 8 dereferenceable(152) %2)
          to label %628 unwind label %647

628:                                              ; preds = %626
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #8
  %629 = invoke ptr @_ZN5boost15foreach_detail_7containINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEEENS0_8auto_anyIPT_EERSK_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef null)
          to label %630 unwind label %651

630:                                              ; preds = %628
  %631 = getelementptr inbounds %"struct.boost::foreach_detail_::auto_any.25", ptr %54, i32 0, i32 0
  store ptr %629, ptr %631, align 8
  store ptr %54, ptr %53, align 8, !tbaa !11
  %632 = load ptr, ptr %53, align 8, !tbaa !11
  %633 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %632)
          to label %634 unwind label %655

634:                                              ; preds = %630
  br i1 %633, label %635, label %659

635:                                              ; preds = %634
  br label %791

636:                                              ; preds = %623, %494
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #8
  br label %637

637:                                              ; preds = %636, %490
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  br label %1607

638:                                              ; preds = %624
  %639 = landingpad { ptr, i32 }
          cleanup
  %640 = extractvalue { ptr, i32 } %639, 0
  store ptr %640, ptr %5, align 8
  %641 = extractvalue { ptr, i32 } %639, 1
  store i32 %641, ptr %6, align 4
  br label %646

642:                                              ; preds = %625
  %643 = landingpad { ptr, i32 }
          cleanup
  %644 = extractvalue { ptr, i32 } %643, 0
  store ptr %644, ptr %5, align 8
  %645 = extractvalue { ptr, i32 } %643, 1
  store i32 %645, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  br label %646

646:                                              ; preds = %642, %638
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #8
  br label %1606

647:                                              ; preds = %626
  %648 = landingpad { ptr, i32 }
          cleanup
  %649 = extractvalue { ptr, i32 } %648, 0
  store ptr %649, ptr %5, align 8
  %650 = extractvalue { ptr, i32 } %648, 1
  store i32 %650, ptr %6, align 4
  br label %1605

651:                                              ; preds = %628
  %652 = landingpad { ptr, i32 }
          cleanup
  %653 = extractvalue { ptr, i32 } %652, 0
  store ptr %653, ptr %5, align 8
  %654 = extractvalue { ptr, i32 } %652, 1
  store i32 %654, ptr %6, align 4
  br label %800

655:                                              ; preds = %630
  %656 = landingpad { ptr, i32 }
          cleanup
  %657 = extractvalue { ptr, i32 } %656, 0
  store ptr %657, ptr %5, align 8
  %658 = extractvalue { ptr, i32 } %656, 1
  store i32 %658, ptr %6, align 4
  br label %799

659:                                              ; preds = %634
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #8
  %660 = load ptr, ptr %53, align 8, !tbaa !11
  %661 = invoke ptr @_ZN5boost15foreach_detail_5beginINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISO_SP_EEPSL_(ptr noundef nonnull align 1 dereferenceable(1) %660, ptr noundef null, ptr noundef null)
          to label %662 unwind label %669

662:                                              ; preds = %659
  %663 = getelementptr inbounds %"struct.boost::foreach_detail_::auto_any.28", ptr %56, i32 0, i32 0
  %664 = getelementptr inbounds %"struct.boost::unordered::iterator_detail::iterator.29", ptr %663, i32 0, i32 0
  store ptr %661, ptr %664, align 8
  store ptr %56, ptr %55, align 8, !tbaa !11
  %665 = load ptr, ptr %55, align 8, !tbaa !11
  %666 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %665)
          to label %667 unwind label %673

667:                                              ; preds = %662
  br i1 %666, label %668, label %677

668:                                              ; preds = %667
  br label %788

669:                                              ; preds = %659
  %670 = landingpad { ptr, i32 }
          cleanup
  %671 = extractvalue { ptr, i32 } %670, 0
  store ptr %671, ptr %5, align 8
  %672 = extractvalue { ptr, i32 } %670, 1
  store i32 %672, ptr %6, align 4
  br label %790

673:                                              ; preds = %662
  %674 = landingpad { ptr, i32 }
          cleanup
  %675 = extractvalue { ptr, i32 } %674, 0
  store ptr %675, ptr %5, align 8
  %676 = extractvalue { ptr, i32 } %674, 1
  store i32 %676, ptr %6, align 4
  br label %789

677:                                              ; preds = %667
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #8
  %678 = load ptr, ptr %53, align 8, !tbaa !11
  %679 = invoke ptr @_ZN5boost15foreach_detail_3endINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISO_SP_EEPSL_(ptr noundef nonnull align 1 dereferenceable(1) %678, ptr noundef null, ptr noundef null)
          to label %680 unwind label %687

680:                                              ; preds = %677
  %681 = getelementptr inbounds %"struct.boost::foreach_detail_::auto_any.28", ptr %58, i32 0, i32 0
  %682 = getelementptr inbounds %"struct.boost::unordered::iterator_detail::iterator.29", ptr %681, i32 0, i32 0
  store ptr %679, ptr %682, align 8
  store ptr %58, ptr %57, align 8, !tbaa !11
  %683 = load ptr, ptr %57, align 8, !tbaa !11
  %684 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %683)
          to label %685 unwind label %691

685:                                              ; preds = %680
  br i1 %684, label %686, label %695

686:                                              ; preds = %685
  br label %785

687:                                              ; preds = %677
  %688 = landingpad { ptr, i32 }
          cleanup
  %689 = extractvalue { ptr, i32 } %688, 0
  store ptr %689, ptr %5, align 8
  %690 = extractvalue { ptr, i32 } %688, 1
  store i32 %690, ptr %6, align 4
  br label %787

691:                                              ; preds = %680
  %692 = landingpad { ptr, i32 }
          cleanup
  %693 = extractvalue { ptr, i32 } %692, 0
  store ptr %693, ptr %5, align 8
  %694 = extractvalue { ptr, i32 } %692, 1
  store i32 %694, ptr %6, align 4
  br label %786

695:                                              ; preds = %685
  call void @llvm.lifetime.start.p0(i64 1, ptr %59) #8
  store i8 1, ptr %59, align 1, !tbaa !13
  br label %696

696:                                              ; preds = %782, %695
  %697 = load i8, ptr %59, align 1, !tbaa !13, !range !15, !noundef !16
  %698 = trunc i8 %697 to i1
  br i1 %698, label %699, label %705

699:                                              ; preds = %696
  %700 = load ptr, ptr %55, align 8, !tbaa !11
  %701 = load ptr, ptr %57, align 8, !tbaa !11
  %702 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_4doneINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESO_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %700, ptr noundef nonnull align 1 dereferenceable(1) %701, ptr noundef null)
          to label %703 unwind label %708

703:                                              ; preds = %699
  %704 = xor i1 %702, true
  br label %705

705:                                              ; preds = %703, %696
  %706 = phi i1 [ false, %696 ], [ %704, %703 ]
  br i1 %706, label %712, label %707

707:                                              ; preds = %705
  store i32 29, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #8
  br label %784

708:                                              ; preds = %778, %712, %699
  %709 = landingpad { ptr, i32 }
          cleanup
  %710 = extractvalue { ptr, i32 } %709, 0
  store ptr %710, ptr %5, align 8
  %711 = extractvalue { ptr, i32 } %709, 1
  store i32 %711, ptr %6, align 4
  br label %783

712:                                              ; preds = %705
  %713 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1) %59)
          to label %714 unwind label %708

714:                                              ; preds = %712
  br i1 %713, label %715, label %716

715:                                              ; preds = %714
  br label %774

716:                                              ; preds = %714
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #8
  %717 = load ptr, ptr %55, align 8, !tbaa !11
  %718 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISN_SO_EE(ptr noundef nonnull align 1 dereferenceable(1) %717, ptr noundef null)
          to label %719 unwind label %725

719:                                              ; preds = %716
  store ptr %718, ptr %60, align 8, !tbaa !11
  br label %720

720:                                              ; preds = %768, %719
  %721 = load i8, ptr %59, align 1, !tbaa !13, !range !15, !noundef !16
  %722 = trunc i8 %721 to i1
  %723 = xor i1 %722, true
  br i1 %723, label %729, label %724

724:                                              ; preds = %720
  store i32 32, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #8
  br label %773

725:                                              ; preds = %716
  %726 = landingpad { ptr, i32 }
          cleanup
  %727 = extractvalue { ptr, i32 } %726, 0
  store ptr %727, ptr %5, align 8
  %728 = extractvalue { ptr, i32 } %726, 1
  store i32 %728, ptr %6, align 4
  br label %772

729:                                              ; preds = %720
  br label %730

730:                                              ; preds = %729
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #8
  %731 = load ptr, ptr %60, align 8, !tbaa !11
  %732 = getelementptr inbounds %"struct.std::pair.30", ptr %731, i32 0, i32 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %732)
          to label %733 unwind label %749

733:                                              ; preds = %730
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #8
  %734 = load ptr, ptr %60, align 8, !tbaa !11
  %735 = getelementptr inbounds %"struct.std::pair.30", ptr %734, i32 0, i32 0
  %736 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EEixERKS6_(ptr noundef nonnull align 8 dereferenceable(152) %48, ptr noundef nonnull align 8 dereferenceable(32) %735)
          to label %737 unwind label %753

737:                                              ; preds = %733
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull align 8 dereferenceable(32) %736)
          to label %738 unwind label %753

738:                                              ; preds = %737
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %739 unwind label %757

739:                                              ; preds = %738
  %740 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %63) #8
  %741 = xor i1 %740, true
  %742 = zext i1 %741 to i64
  %743 = call i64 @llvm.expect.i64(i64 %742, i64 0)
  %744 = icmp ne i64 %743, 0
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #8
  br i1 %744, label %745, label %765

745:                                              ; preds = %739
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #8
  %746 = getelementptr inbounds %class.anon.39, ptr %64, i32 0, i32 0
  store ptr %61, ptr %746, align 8, !tbaa !11
  %747 = getelementptr inbounds %class.anon.39, ptr %64, i32 0, i32 1
  store ptr %62, ptr %747, align 8, !tbaa !11
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_3clEv"(ptr noundef nonnull align 8 dereferenceable(16) %64)
          to label %748 unwind label %761

748:                                              ; preds = %745
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #8
  br label %765

749:                                              ; preds = %730
  %750 = landingpad { ptr, i32 }
          cleanup
  %751 = extractvalue { ptr, i32 } %750, 0
  store ptr %751, ptr %5, align 8
  %752 = extractvalue { ptr, i32 } %750, 1
  store i32 %752, ptr %6, align 4
  br label %771

753:                                              ; preds = %737, %733
  %754 = landingpad { ptr, i32 }
          cleanup
  %755 = extractvalue { ptr, i32 } %754, 0
  store ptr %755, ptr %5, align 8
  %756 = extractvalue { ptr, i32 } %754, 1
  store i32 %756, ptr %6, align 4
  br label %770

757:                                              ; preds = %738
  %758 = landingpad { ptr, i32 }
          cleanup
  %759 = extractvalue { ptr, i32 } %758, 0
  store ptr %759, ptr %5, align 8
  %760 = extractvalue { ptr, i32 } %758, 1
  store i32 %760, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #8
  br label %769

761:                                              ; preds = %745
  %762 = landingpad { ptr, i32 }
          cleanup
  %763 = extractvalue { ptr, i32 } %762, 0
  store ptr %763, ptr %5, align 8
  %764 = extractvalue { ptr, i32 } %762, 1
  store i32 %764, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #8
  br label %769

765:                                              ; preds = %748, %739
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #8
  br label %766

766:                                              ; preds = %765
  br label %767

767:                                              ; preds = %766
  br label %768

768:                                              ; preds = %767
  store i8 1, ptr %59, align 1, !tbaa !13
  br label %720, !llvm.loop !23

769:                                              ; preds = %761, %757
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #8
  br label %770

770:                                              ; preds = %769, %753
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #8
  br label %771

771:                                              ; preds = %770, %749
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #8
  br label %772

772:                                              ; preds = %771, %725
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #8
  br label %783

773:                                              ; preds = %724
  br label %774

774:                                              ; preds = %773, %715
  br label %775

775:                                              ; preds = %774
  %776 = load i8, ptr %59, align 1, !tbaa !13, !range !15, !noundef !16
  %777 = trunc i8 %776 to i1
  br i1 %777, label %778, label %781

778:                                              ; preds = %775
  %779 = load ptr, ptr %55, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_4nextINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %779, ptr noundef null)
          to label %780 unwind label %708

780:                                              ; preds = %778
  br label %782

781:                                              ; preds = %775
  br label %782

782:                                              ; preds = %781, %780
  br label %696, !llvm.loop !24

783:                                              ; preds = %772, %708
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #8
  br label %786

784:                                              ; preds = %707
  br label %785

785:                                              ; preds = %784, %686
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #8
  br label %788

786:                                              ; preds = %783, %691
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #8
  br label %787

787:                                              ; preds = %786, %687
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #8
  br label %789

788:                                              ; preds = %785, %668
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #8
  br label %791

789:                                              ; preds = %787, %673
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #8
  br label %790

790:                                              ; preds = %789, %669
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #8
  br label %799

791:                                              ; preds = %788, %635
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #8
  %792 = invoke ptr @_ZN5boost15foreach_detail_7containIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEEENS0_8auto_anyIPT_EERSG_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(152) %48, ptr noundef null)
          to label %793 unwind label %801

793:                                              ; preds = %791
  %794 = getelementptr inbounds %"struct.boost::foreach_detail_::auto_any.33", ptr %66, i32 0, i32 0
  store ptr %792, ptr %794, align 8
  store ptr %66, ptr %65, align 8, !tbaa !11
  %795 = load ptr, ptr %65, align 8, !tbaa !11
  %796 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %795)
          to label %797 unwind label %805

797:                                              ; preds = %793
  br i1 %796, label %798, label %809

798:                                              ; preds = %797
  br label %935

799:                                              ; preds = %790, %655
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #8
  br label %800

800:                                              ; preds = %799, %651
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #8
  br label %1605

801:                                              ; preds = %791
  %802 = landingpad { ptr, i32 }
          cleanup
  %803 = extractvalue { ptr, i32 } %802, 0
  store ptr %803, ptr %5, align 8
  %804 = extractvalue { ptr, i32 } %802, 1
  store i32 %804, ptr %6, align 4
  br label %944

805:                                              ; preds = %793
  %806 = landingpad { ptr, i32 }
          cleanup
  %807 = extractvalue { ptr, i32 } %806, 0
  store ptr %807, ptr %5, align 8
  %808 = extractvalue { ptr, i32 } %806, 1
  store i32 %808, ptr %6, align 4
  br label %943

809:                                              ; preds = %797
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #8
  %810 = load ptr, ptr %65, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_5beginIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %68, ptr noundef nonnull align 1 dereferenceable(1) %810, ptr noundef null, ptr noundef null)
          to label %811 unwind label %816

811:                                              ; preds = %809
  store ptr %68, ptr %67, align 8, !tbaa !11
  %812 = load ptr, ptr %67, align 8, !tbaa !11
  %813 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %812)
          to label %814 unwind label %820

814:                                              ; preds = %811
  br i1 %813, label %815, label %824

815:                                              ; preds = %814
  br label %932

816:                                              ; preds = %809
  %817 = landingpad { ptr, i32 }
          cleanup
  %818 = extractvalue { ptr, i32 } %817, 0
  store ptr %818, ptr %5, align 8
  %819 = extractvalue { ptr, i32 } %817, 1
  store i32 %819, ptr %6, align 4
  br label %934

820:                                              ; preds = %811
  %821 = landingpad { ptr, i32 }
          cleanup
  %822 = extractvalue { ptr, i32 } %821, 0
  store ptr %822, ptr %5, align 8
  %823 = extractvalue { ptr, i32 } %821, 1
  store i32 %823, ptr %6, align 4
  br label %933

824:                                              ; preds = %814
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #8
  %825 = load ptr, ptr %65, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_3endIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %70, ptr noundef nonnull align 1 dereferenceable(1) %825, ptr noundef null, ptr noundef null)
          to label %826 unwind label %831

826:                                              ; preds = %824
  store ptr %70, ptr %69, align 8, !tbaa !11
  %827 = load ptr, ptr %69, align 8, !tbaa !11
  %828 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %827)
          to label %829 unwind label %835

829:                                              ; preds = %826
  br i1 %828, label %830, label %839

830:                                              ; preds = %829
  br label %929

831:                                              ; preds = %824
  %832 = landingpad { ptr, i32 }
          cleanup
  %833 = extractvalue { ptr, i32 } %832, 0
  store ptr %833, ptr %5, align 8
  %834 = extractvalue { ptr, i32 } %832, 1
  store i32 %834, ptr %6, align 4
  br label %931

835:                                              ; preds = %826
  %836 = landingpad { ptr, i32 }
          cleanup
  %837 = extractvalue { ptr, i32 } %836, 0
  store ptr %837, ptr %5, align 8
  %838 = extractvalue { ptr, i32 } %836, 1
  store i32 %838, ptr %6, align 4
  br label %930

839:                                              ; preds = %829
  call void @llvm.lifetime.start.p0(i64 1, ptr %71) #8
  store i8 1, ptr %71, align 1, !tbaa !13
  br label %840

840:                                              ; preds = %926, %839
  %841 = load i8, ptr %71, align 1, !tbaa !13, !range !15, !noundef !16
  %842 = trunc i8 %841 to i1
  br i1 %842, label %843, label %849

843:                                              ; preds = %840
  %844 = load ptr, ptr %67, align 8, !tbaa !11
  %845 = load ptr, ptr %69, align 8, !tbaa !11
  %846 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_4doneIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESK_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %844, ptr noundef nonnull align 1 dereferenceable(1) %845, ptr noundef null)
          to label %847 unwind label %852

847:                                              ; preds = %843
  %848 = xor i1 %846, true
  br label %849

849:                                              ; preds = %847, %840
  %850 = phi i1 [ false, %840 ], [ %848, %847 ]
  br i1 %850, label %856, label %851

851:                                              ; preds = %849
  store i32 37, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #8
  br label %928

852:                                              ; preds = %922, %856, %843
  %853 = landingpad { ptr, i32 }
          cleanup
  %854 = extractvalue { ptr, i32 } %853, 0
  store ptr %854, ptr %5, align 8
  %855 = extractvalue { ptr, i32 } %853, 1
  store i32 %855, ptr %6, align 4
  br label %927

856:                                              ; preds = %849
  %857 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1) %71)
          to label %858 unwind label %852

858:                                              ; preds = %856
  br i1 %857, label %859, label %860

859:                                              ; preds = %858
  br label %918

860:                                              ; preds = %858
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #8
  %861 = load ptr, ptr %67, align 8, !tbaa !11
  %862 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISJ_SK_EE(ptr noundef nonnull align 1 dereferenceable(1) %861, ptr noundef null)
          to label %863 unwind label %869

863:                                              ; preds = %860
  store ptr %862, ptr %72, align 8, !tbaa !11
  br label %864

864:                                              ; preds = %912, %863
  %865 = load i8, ptr %71, align 1, !tbaa !13, !range !15, !noundef !16
  %866 = trunc i8 %865 to i1
  %867 = xor i1 %866, true
  br i1 %867, label %873, label %868

868:                                              ; preds = %864
  store i32 40, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #8
  br label %917

869:                                              ; preds = %860
  %870 = landingpad { ptr, i32 }
          cleanup
  %871 = extractvalue { ptr, i32 } %870, 0
  store ptr %871, ptr %5, align 8
  %872 = extractvalue { ptr, i32 } %870, 1
  store i32 %872, ptr %6, align 4
  br label %916

873:                                              ; preds = %864
  br label %874

874:                                              ; preds = %873
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #8
  %875 = load ptr, ptr %72, align 8, !tbaa !11
  %876 = getelementptr inbounds %"struct.std::pair.30", ptr %875, i32 0, i32 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 8 dereferenceable(32) %876)
          to label %877 unwind label %893

877:                                              ; preds = %874
  call void @llvm.lifetime.start.p0(i64 32, ptr %74) #8
  %878 = load ptr, ptr %72, align 8, !tbaa !11
  %879 = getelementptr inbounds %"struct.std::pair.30", ptr %878, i32 0, i32 0
  %880 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEixERSD_(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(32) %879)
          to label %881 unwind label %897

881:                                              ; preds = %877
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull align 8 dereferenceable(32) %880)
          to label %882 unwind label %897

882:                                              ; preds = %881
  call void @llvm.lifetime.start.p0(i64 32, ptr %75) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull align 8 dereferenceable(32) %74)
          to label %883 unwind label %901

883:                                              ; preds = %882
  %884 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 8 dereferenceable(32) %75) #8
  %885 = xor i1 %884, true
  %886 = zext i1 %885 to i64
  %887 = call i64 @llvm.expect.i64(i64 %886, i64 0)
  %888 = icmp ne i64 %887, 0
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #8
  br i1 %888, label %889, label %909

889:                                              ; preds = %883
  call void @llvm.lifetime.start.p0(i64 16, ptr %76) #8
  %890 = getelementptr inbounds %class.anon.40, ptr %76, i32 0, i32 0
  store ptr %73, ptr %890, align 8, !tbaa !11
  %891 = getelementptr inbounds %class.anon.40, ptr %76, i32 0, i32 1
  store ptr %74, ptr %891, align 8, !tbaa !11
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_4clEv"(ptr noundef nonnull align 8 dereferenceable(16) %76)
          to label %892 unwind label %905

892:                                              ; preds = %889
  call void @llvm.lifetime.end.p0(i64 16, ptr %76) #8
  br label %909

893:                                              ; preds = %874
  %894 = landingpad { ptr, i32 }
          cleanup
  %895 = extractvalue { ptr, i32 } %894, 0
  store ptr %895, ptr %5, align 8
  %896 = extractvalue { ptr, i32 } %894, 1
  store i32 %896, ptr %6, align 4
  br label %915

897:                                              ; preds = %881, %877
  %898 = landingpad { ptr, i32 }
          cleanup
  %899 = extractvalue { ptr, i32 } %898, 0
  store ptr %899, ptr %5, align 8
  %900 = extractvalue { ptr, i32 } %898, 1
  store i32 %900, ptr %6, align 4
  br label %914

901:                                              ; preds = %882
  %902 = landingpad { ptr, i32 }
          cleanup
  %903 = extractvalue { ptr, i32 } %902, 0
  store ptr %903, ptr %5, align 8
  %904 = extractvalue { ptr, i32 } %902, 1
  store i32 %904, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #8
  br label %913

905:                                              ; preds = %889
  %906 = landingpad { ptr, i32 }
          cleanup
  %907 = extractvalue { ptr, i32 } %906, 0
  store ptr %907, ptr %5, align 8
  %908 = extractvalue { ptr, i32 } %906, 1
  store i32 %908, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %76) #8
  br label %913

909:                                              ; preds = %892, %883
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #8
  br label %910

910:                                              ; preds = %909
  br label %911

911:                                              ; preds = %910
  br label %912

912:                                              ; preds = %911
  store i8 1, ptr %71, align 1, !tbaa !13
  br label %864, !llvm.loop !25

913:                                              ; preds = %905, %901
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #8
  br label %914

914:                                              ; preds = %913, %897
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #8
  br label %915

915:                                              ; preds = %914, %893
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #8
  br label %916

916:                                              ; preds = %915, %869
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #8
  br label %927

917:                                              ; preds = %868
  br label %918

918:                                              ; preds = %917, %859
  br label %919

919:                                              ; preds = %918
  %920 = load i8, ptr %71, align 1, !tbaa !13, !range !15, !noundef !16
  %921 = trunc i8 %920 to i1
  br i1 %921, label %922, label %925

922:                                              ; preds = %919
  %923 = load ptr, ptr %67, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_4nextIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %923, ptr noundef null)
          to label %924 unwind label %852

924:                                              ; preds = %922
  br label %926

925:                                              ; preds = %919
  br label %926

926:                                              ; preds = %925, %924
  br label %840, !llvm.loop !26

927:                                              ; preds = %916, %852
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #8
  br label %930

928:                                              ; preds = %851
  br label %929

929:                                              ; preds = %928, %830
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #8
  br label %932

930:                                              ; preds = %927, %835
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #8
  br label %931

931:                                              ; preds = %930, %831
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #8
  br label %933

932:                                              ; preds = %929, %815
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #8
  br label %935

933:                                              ; preds = %931, %820
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #8
  br label %934

934:                                              ; preds = %933, %816
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #8
  br label %943

935:                                              ; preds = %932, %798
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #8
  %936 = invoke ptr @_ZN5boost15foreach_detail_7containIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEEENS0_8auto_anyIPT_EERSG_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(152) %48, ptr noundef null)
          to label %937 unwind label %945

937:                                              ; preds = %935
  %938 = getelementptr inbounds %"struct.boost::foreach_detail_::auto_any.33", ptr %78, i32 0, i32 0
  store ptr %936, ptr %938, align 8
  store ptr %78, ptr %77, align 8, !tbaa !11
  %939 = load ptr, ptr %77, align 8, !tbaa !11
  %940 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %939)
          to label %941 unwind label %949

941:                                              ; preds = %937
  br i1 %940, label %942, label %953

942:                                              ; preds = %941
  br label %1079

943:                                              ; preds = %934, %805
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #8
  br label %944

944:                                              ; preds = %943, %801
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #8
  br label %1605

945:                                              ; preds = %935
  %946 = landingpad { ptr, i32 }
          cleanup
  %947 = extractvalue { ptr, i32 } %946, 0
  store ptr %947, ptr %5, align 8
  %948 = extractvalue { ptr, i32 } %946, 1
  store i32 %948, ptr %6, align 4
  br label %1102

949:                                              ; preds = %937
  %950 = landingpad { ptr, i32 }
          cleanup
  %951 = extractvalue { ptr, i32 } %950, 0
  store ptr %951, ptr %5, align 8
  %952 = extractvalue { ptr, i32 } %950, 1
  store i32 %952, ptr %6, align 4
  br label %1101

953:                                              ; preds = %941
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #8
  %954 = load ptr, ptr %77, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_5beginIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %80, ptr noundef nonnull align 1 dereferenceable(1) %954, ptr noundef null, ptr noundef null)
          to label %955 unwind label %960

955:                                              ; preds = %953
  store ptr %80, ptr %79, align 8, !tbaa !11
  %956 = load ptr, ptr %79, align 8, !tbaa !11
  %957 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %956)
          to label %958 unwind label %964

958:                                              ; preds = %955
  br i1 %957, label %959, label %968

959:                                              ; preds = %958
  br label %1076

960:                                              ; preds = %953
  %961 = landingpad { ptr, i32 }
          cleanup
  %962 = extractvalue { ptr, i32 } %961, 0
  store ptr %962, ptr %5, align 8
  %963 = extractvalue { ptr, i32 } %961, 1
  store i32 %963, ptr %6, align 4
  br label %1078

964:                                              ; preds = %955
  %965 = landingpad { ptr, i32 }
          cleanup
  %966 = extractvalue { ptr, i32 } %965, 0
  store ptr %966, ptr %5, align 8
  %967 = extractvalue { ptr, i32 } %965, 1
  store i32 %967, ptr %6, align 4
  br label %1077

968:                                              ; preds = %958
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %82) #8
  %969 = load ptr, ptr %77, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_3endIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %82, ptr noundef nonnull align 1 dereferenceable(1) %969, ptr noundef null, ptr noundef null)
          to label %970 unwind label %975

970:                                              ; preds = %968
  store ptr %82, ptr %81, align 8, !tbaa !11
  %971 = load ptr, ptr %81, align 8, !tbaa !11
  %972 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %971)
          to label %973 unwind label %979

973:                                              ; preds = %970
  br i1 %972, label %974, label %983

974:                                              ; preds = %973
  br label %1073

975:                                              ; preds = %968
  %976 = landingpad { ptr, i32 }
          cleanup
  %977 = extractvalue { ptr, i32 } %976, 0
  store ptr %977, ptr %5, align 8
  %978 = extractvalue { ptr, i32 } %976, 1
  store i32 %978, ptr %6, align 4
  br label %1075

979:                                              ; preds = %970
  %980 = landingpad { ptr, i32 }
          cleanup
  %981 = extractvalue { ptr, i32 } %980, 0
  store ptr %981, ptr %5, align 8
  %982 = extractvalue { ptr, i32 } %980, 1
  store i32 %982, ptr %6, align 4
  br label %1074

983:                                              ; preds = %973
  call void @llvm.lifetime.start.p0(i64 1, ptr %83) #8
  store i8 1, ptr %83, align 1, !tbaa !13
  br label %984

984:                                              ; preds = %1070, %983
  %985 = load i8, ptr %83, align 1, !tbaa !13, !range !15, !noundef !16
  %986 = trunc i8 %985 to i1
  br i1 %986, label %987, label %993

987:                                              ; preds = %984
  %988 = load ptr, ptr %79, align 8, !tbaa !11
  %989 = load ptr, ptr %81, align 8, !tbaa !11
  %990 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_4doneIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESK_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %988, ptr noundef nonnull align 1 dereferenceable(1) %989, ptr noundef null)
          to label %991 unwind label %996

991:                                              ; preds = %987
  %992 = xor i1 %990, true
  br label %993

993:                                              ; preds = %991, %984
  %994 = phi i1 [ false, %984 ], [ %992, %991 ]
  br i1 %994, label %1000, label %995

995:                                              ; preds = %993
  store i32 45, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #8
  br label %1072

996:                                              ; preds = %1066, %1000, %987
  %997 = landingpad { ptr, i32 }
          cleanup
  %998 = extractvalue { ptr, i32 } %997, 0
  store ptr %998, ptr %5, align 8
  %999 = extractvalue { ptr, i32 } %997, 1
  store i32 %999, ptr %6, align 4
  br label %1071

1000:                                             ; preds = %993
  %1001 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1) %83)
          to label %1002 unwind label %996

1002:                                             ; preds = %1000
  br i1 %1001, label %1003, label %1004

1003:                                             ; preds = %1002
  br label %1062

1004:                                             ; preds = %1002
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #8
  %1005 = load ptr, ptr %79, align 8, !tbaa !11
  %1006 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISJ_SK_EE(ptr noundef nonnull align 1 dereferenceable(1) %1005, ptr noundef null)
          to label %1007 unwind label %1013

1007:                                             ; preds = %1004
  store ptr %1006, ptr %84, align 8, !tbaa !11
  br label %1008

1008:                                             ; preds = %1056, %1007
  %1009 = load i8, ptr %83, align 1, !tbaa !13, !range !15, !noundef !16
  %1010 = trunc i8 %1009 to i1
  %1011 = xor i1 %1010, true
  br i1 %1011, label %1017, label %1012

1012:                                             ; preds = %1008
  store i32 48, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #8
  br label %1061

1013:                                             ; preds = %1004
  %1014 = landingpad { ptr, i32 }
          cleanup
  %1015 = extractvalue { ptr, i32 } %1014, 0
  store ptr %1015, ptr %5, align 8
  %1016 = extractvalue { ptr, i32 } %1014, 1
  store i32 %1016, ptr %6, align 4
  br label %1060

1017:                                             ; preds = %1008
  br label %1018

1018:                                             ; preds = %1017
  call void @llvm.lifetime.start.p0(i64 32, ptr %85) #8
  %1019 = load ptr, ptr %84, align 8, !tbaa !11
  %1020 = getelementptr inbounds %"struct.std::pair.30", ptr %1019, i32 0, i32 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull align 8 dereferenceable(32) %1020)
          to label %1021 unwind label %1037

1021:                                             ; preds = %1018
  call void @llvm.lifetime.start.p0(i64 32, ptr %86) #8
  %1022 = load ptr, ptr %84, align 8, !tbaa !11
  %1023 = getelementptr inbounds %"struct.std::pair.30", ptr %1022, i32 0, i32 0
  %1024 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEixERSD_(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(32) %1023)
          to label %1025 unwind label %1041

1025:                                             ; preds = %1021
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef nonnull align 8 dereferenceable(32) %1024)
          to label %1026 unwind label %1041

1026:                                             ; preds = %1025
  call void @llvm.lifetime.start.p0(i64 32, ptr %87) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef nonnull align 8 dereferenceable(32) %86)
          to label %1027 unwind label %1045

1027:                                             ; preds = %1026
  %1028 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull align 8 dereferenceable(32) %87) #8
  %1029 = xor i1 %1028, true
  %1030 = zext i1 %1029 to i64
  %1031 = call i64 @llvm.expect.i64(i64 %1030, i64 0)
  %1032 = icmp ne i64 %1031, 0
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #8
  br i1 %1032, label %1033, label %1053

1033:                                             ; preds = %1027
  call void @llvm.lifetime.start.p0(i64 16, ptr %88) #8
  %1034 = getelementptr inbounds %class.anon.41, ptr %88, i32 0, i32 0
  store ptr %85, ptr %1034, align 8, !tbaa !11
  %1035 = getelementptr inbounds %class.anon.41, ptr %88, i32 0, i32 1
  store ptr %86, ptr %1035, align 8, !tbaa !11
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_5clEv"(ptr noundef nonnull align 8 dereferenceable(16) %88)
          to label %1036 unwind label %1049

1036:                                             ; preds = %1033
  call void @llvm.lifetime.end.p0(i64 16, ptr %88) #8
  br label %1053

1037:                                             ; preds = %1018
  %1038 = landingpad { ptr, i32 }
          cleanup
  %1039 = extractvalue { ptr, i32 } %1038, 0
  store ptr %1039, ptr %5, align 8
  %1040 = extractvalue { ptr, i32 } %1038, 1
  store i32 %1040, ptr %6, align 4
  br label %1059

1041:                                             ; preds = %1025, %1021
  %1042 = landingpad { ptr, i32 }
          cleanup
  %1043 = extractvalue { ptr, i32 } %1042, 0
  store ptr %1043, ptr %5, align 8
  %1044 = extractvalue { ptr, i32 } %1042, 1
  store i32 %1044, ptr %6, align 4
  br label %1058

1045:                                             ; preds = %1026
  %1046 = landingpad { ptr, i32 }
          cleanup
  %1047 = extractvalue { ptr, i32 } %1046, 0
  store ptr %1047, ptr %5, align 8
  %1048 = extractvalue { ptr, i32 } %1046, 1
  store i32 %1048, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #8
  br label %1057

1049:                                             ; preds = %1033
  %1050 = landingpad { ptr, i32 }
          cleanup
  %1051 = extractvalue { ptr, i32 } %1050, 0
  store ptr %1051, ptr %5, align 8
  %1052 = extractvalue { ptr, i32 } %1050, 1
  store i32 %1052, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %88) #8
  br label %1057

1053:                                             ; preds = %1036, %1027
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #8
  br label %1054

1054:                                             ; preds = %1053
  br label %1055

1055:                                             ; preds = %1054
  br label %1056

1056:                                             ; preds = %1055
  store i8 1, ptr %83, align 1, !tbaa !13
  br label %1008, !llvm.loop !27

1057:                                             ; preds = %1049, %1045
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #8
  br label %1058

1058:                                             ; preds = %1057, %1041
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #8
  br label %1059

1059:                                             ; preds = %1058, %1037
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #8
  br label %1060

1060:                                             ; preds = %1059, %1013
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #8
  br label %1071

1061:                                             ; preds = %1012
  br label %1062

1062:                                             ; preds = %1061, %1003
  br label %1063

1063:                                             ; preds = %1062
  %1064 = load i8, ptr %83, align 1, !tbaa !13, !range !15, !noundef !16
  %1065 = trunc i8 %1064 to i1
  br i1 %1065, label %1066, label %1069

1066:                                             ; preds = %1063
  %1067 = load ptr, ptr %79, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_4nextIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %1067, ptr noundef null)
          to label %1068 unwind label %996

1068:                                             ; preds = %1066
  br label %1070

1069:                                             ; preds = %1063
  br label %1070

1070:                                             ; preds = %1069, %1068
  br label %984, !llvm.loop !28

1071:                                             ; preds = %1060, %996
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #8
  br label %1074

1072:                                             ; preds = %995
  br label %1073

1073:                                             ; preds = %1072, %974
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #8
  br label %1076

1074:                                             ; preds = %1071, %979
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #8
  br label %1075

1075:                                             ; preds = %1074, %975
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #8
  br label %1077

1076:                                             ; preds = %1073, %959
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #8
  br label %1079

1077:                                             ; preds = %1075, %964
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #8
  br label %1078

1078:                                             ; preds = %1077, %960
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #8
  br label %1101

1079:                                             ; preds = %1076, %942
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #8
  call void @llvm.lifetime.start.p0(i64 392, ptr %89) #8
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %89)
          to label %1080 unwind label %1103

1080:                                             ; preds = %1079
  call void @llvm.lifetime.start.p0(i64 48, ptr %90) #8
  %1081 = getelementptr inbounds i8, ptr %89, i64 16
  invoke void @_ZN8graphlab8oarchiveC2ERSo(ptr noundef nonnull align 8 dereferenceable(48) %90, ptr noundef nonnull align 8 dereferenceable(8) %1081)
          to label %1082 unwind label %1107

1082:                                             ; preds = %1080
  %1083 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN8graphlablsINS_15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_Lm3EmN5boost4hashIS7_EESt8equal_toIS7_EEEEERNS_8oarchiveESF_RKT_(ptr noundef nonnull align 8 dereferenceable(48) %90, ptr noundef nonnull align 8 dereferenceable(152) %2)
          to label %1084 unwind label %1111

1084:                                             ; preds = %1082
  %1085 = getelementptr inbounds i8, ptr %89, i64 16
  %1086 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo5flushEv(ptr noundef nonnull align 8 dereferenceable(8) %1085)
          to label %1087 unwind label %1111

1087:                                             ; preds = %1084
  invoke void @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(152) %48)
          to label %1088 unwind label %1111

1088:                                             ; preds = %1087
  br label %1089

1089:                                             ; preds = %1088
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #8
  %1090 = invoke noundef i64 @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(152) %48)
          to label %1091 unwind label %1115

1091:                                             ; preds = %1089
  store i64 %1090, ptr %91, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #8
  store i32 0, ptr %92, align 4, !tbaa !29
  %1092 = load i64, ptr %91, align 8, !tbaa !5
  %1093 = icmp eq i64 %1092, 0
  %1094 = xor i1 %1093, true
  %1095 = zext i1 %1094 to i64
  %1096 = call i64 @llvm.expect.i64(i64 %1095, i64 0)
  %1097 = icmp ne i64 %1096, 0
  br i1 %1097, label %1098, label %1123

1098:                                             ; preds = %1091
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #8
  %1099 = getelementptr inbounds %class.anon.42, ptr %93, i32 0, i32 0
  store ptr %91, ptr %1099, align 8, !tbaa !11
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_6clEv"(ptr noundef nonnull align 8 dereferenceable(8) %93)
          to label %1100 unwind label %1119

1100:                                             ; preds = %1098
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #8
  br label %1123

1101:                                             ; preds = %1078, %949
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #8
  br label %1102

1102:                                             ; preds = %1101, %945
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #8
  br label %1605

1103:                                             ; preds = %1079
  %1104 = landingpad { ptr, i32 }
          cleanup
  %1105 = extractvalue { ptr, i32 } %1104, 0
  store ptr %1105, ptr %5, align 8
  %1106 = extractvalue { ptr, i32 } %1104, 1
  store i32 %1106, ptr %6, align 4
  br label %1604

1107:                                             ; preds = %1080
  %1108 = landingpad { ptr, i32 }
          cleanup
  %1109 = extractvalue { ptr, i32 } %1108, 0
  store ptr %1109, ptr %5, align 8
  %1110 = extractvalue { ptr, i32 } %1108, 1
  store i32 %1110, ptr %6, align 4
  br label %1603

1111:                                             ; preds = %1087, %1084, %1082
  %1112 = landingpad { ptr, i32 }
          cleanup
  %1113 = extractvalue { ptr, i32 } %1112, 0
  store ptr %1113, ptr %5, align 8
  %1114 = extractvalue { ptr, i32 } %1112, 1
  store i32 %1114, ptr %6, align 4
  br label %1602

1115:                                             ; preds = %1089
  %1116 = landingpad { ptr, i32 }
          cleanup
  %1117 = extractvalue { ptr, i32 } %1116, 0
  store ptr %1117, ptr %5, align 8
  %1118 = extractvalue { ptr, i32 } %1116, 1
  store i32 %1118, ptr %6, align 4
  br label %1141

1119:                                             ; preds = %1098
  %1120 = landingpad { ptr, i32 }
          cleanup
  %1121 = extractvalue { ptr, i32 } %1120, 0
  store ptr %1121, ptr %5, align 8
  %1122 = extractvalue { ptr, i32 } %1120, 1
  store i32 %1122, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #8
  br label %1141

1123:                                             ; preds = %1100, %1091
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #8
  br label %1124

1124:                                             ; preds = %1123
  br label %1125

1125:                                             ; preds = %1124
  call void @llvm.lifetime.start.p0(i64 40, ptr %94) #8
  invoke void @_ZN8graphlab8iarchiveC2ERSi(ptr noundef nonnull align 8 dereferenceable(40) %94, ptr noundef nonnull align 8 dereferenceable(16) %89)
          to label %1126 unwind label %1142

1126:                                             ; preds = %1125
  %1127 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN8graphlabrsINS_15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_Lm3EmN5boost4hashIS7_EESt8equal_toIS7_EEEEERNS_8iarchiveESF_RT_(ptr noundef nonnull align 8 dereferenceable(40) %94, ptr noundef nonnull align 8 dereferenceable(152) %48)
          to label %1128 unwind label %1146

1128:                                             ; preds = %1126
  br label %1129

1129:                                             ; preds = %1128
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #8
  %1130 = invoke noundef i64 @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(152) %48)
          to label %1131 unwind label %1150

1131:                                             ; preds = %1129
  store i64 %1130, ptr %95, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #8
  store i32 10000, ptr %96, align 4, !tbaa !29
  %1132 = load i64, ptr %95, align 8, !tbaa !5
  %1133 = icmp eq i64 %1132, 10000
  %1134 = xor i1 %1133, true
  %1135 = zext i1 %1134 to i64
  %1136 = call i64 @llvm.expect.i64(i64 %1135, i64 0)
  %1137 = icmp ne i64 %1136, 0
  br i1 %1137, label %1138, label %1158

1138:                                             ; preds = %1131
  call void @llvm.lifetime.start.p0(i64 8, ptr %97) #8
  %1139 = getelementptr inbounds %class.anon.43, ptr %97, i32 0, i32 0
  store ptr %95, ptr %1139, align 8, !tbaa !11
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_7clEv"(ptr noundef nonnull align 8 dereferenceable(8) %97)
          to label %1140 unwind label %1154

1140:                                             ; preds = %1138
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #8
  br label %1158

1141:                                             ; preds = %1119, %1115
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #8
  br label %1602

1142:                                             ; preds = %1125
  %1143 = landingpad { ptr, i32 }
          cleanup
  %1144 = extractvalue { ptr, i32 } %1143, 0
  store ptr %1144, ptr %5, align 8
  %1145 = extractvalue { ptr, i32 } %1143, 1
  store i32 %1145, ptr %6, align 4
  br label %1601

1146:                                             ; preds = %1126
  %1147 = landingpad { ptr, i32 }
          cleanup
  %1148 = extractvalue { ptr, i32 } %1147, 0
  store ptr %1148, ptr %5, align 8
  %1149 = extractvalue { ptr, i32 } %1147, 1
  store i32 %1149, ptr %6, align 4
  br label %1600

1150:                                             ; preds = %1129
  %1151 = landingpad { ptr, i32 }
          cleanup
  %1152 = extractvalue { ptr, i32 } %1151, 0
  store ptr %1152, ptr %5, align 8
  %1153 = extractvalue { ptr, i32 } %1151, 1
  store i32 %1153, ptr %6, align 4
  br label %1168

1154:                                             ; preds = %1138
  %1155 = landingpad { ptr, i32 }
          cleanup
  %1156 = extractvalue { ptr, i32 } %1155, 0
  store ptr %1156, ptr %5, align 8
  %1157 = extractvalue { ptr, i32 } %1155, 1
  store i32 %1157, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #8
  br label %1168

1158:                                             ; preds = %1140, %1131
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #8
  br label %1159

1159:                                             ; preds = %1158
  br label %1160

1160:                                             ; preds = %1159
  call void @llvm.lifetime.start.p0(i64 8, ptr %98) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %99) #8
  %1161 = invoke ptr @_ZN5boost15foreach_detail_7containINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEEENS0_8auto_anyIPT_EERSK_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef null)
          to label %1162 unwind label %1169

1162:                                             ; preds = %1160
  %1163 = getelementptr inbounds %"struct.boost::foreach_detail_::auto_any.25", ptr %99, i32 0, i32 0
  store ptr %1161, ptr %1163, align 8
  store ptr %99, ptr %98, align 8, !tbaa !11
  %1164 = load ptr, ptr %98, align 8, !tbaa !11
  %1165 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %1164)
          to label %1166 unwind label %1173

1166:                                             ; preds = %1162
  br i1 %1165, label %1167, label %1177

1167:                                             ; preds = %1166
  br label %1309

1168:                                             ; preds = %1154, %1150
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #8
  br label %1600

1169:                                             ; preds = %1160
  %1170 = landingpad { ptr, i32 }
          cleanup
  %1171 = extractvalue { ptr, i32 } %1170, 0
  store ptr %1171, ptr %5, align 8
  %1172 = extractvalue { ptr, i32 } %1170, 1
  store i32 %1172, ptr %6, align 4
  br label %1318

1173:                                             ; preds = %1162
  %1174 = landingpad { ptr, i32 }
          cleanup
  %1175 = extractvalue { ptr, i32 } %1174, 0
  store ptr %1175, ptr %5, align 8
  %1176 = extractvalue { ptr, i32 } %1174, 1
  store i32 %1176, ptr %6, align 4
  br label %1317

1177:                                             ; preds = %1166
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #8
  %1178 = load ptr, ptr %98, align 8, !tbaa !11
  %1179 = invoke ptr @_ZN5boost15foreach_detail_5beginINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISO_SP_EEPSL_(ptr noundef nonnull align 1 dereferenceable(1) %1178, ptr noundef null, ptr noundef null)
          to label %1180 unwind label %1187

1180:                                             ; preds = %1177
  %1181 = getelementptr inbounds %"struct.boost::foreach_detail_::auto_any.28", ptr %101, i32 0, i32 0
  %1182 = getelementptr inbounds %"struct.boost::unordered::iterator_detail::iterator.29", ptr %1181, i32 0, i32 0
  store ptr %1179, ptr %1182, align 8
  store ptr %101, ptr %100, align 8, !tbaa !11
  %1183 = load ptr, ptr %100, align 8, !tbaa !11
  %1184 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %1183)
          to label %1185 unwind label %1191

1185:                                             ; preds = %1180
  br i1 %1184, label %1186, label %1195

1186:                                             ; preds = %1185
  br label %1306

1187:                                             ; preds = %1177
  %1188 = landingpad { ptr, i32 }
          cleanup
  %1189 = extractvalue { ptr, i32 } %1188, 0
  store ptr %1189, ptr %5, align 8
  %1190 = extractvalue { ptr, i32 } %1188, 1
  store i32 %1190, ptr %6, align 4
  br label %1308

1191:                                             ; preds = %1180
  %1192 = landingpad { ptr, i32 }
          cleanup
  %1193 = extractvalue { ptr, i32 } %1192, 0
  store ptr %1193, ptr %5, align 8
  %1194 = extractvalue { ptr, i32 } %1192, 1
  store i32 %1194, ptr %6, align 4
  br label %1307

1195:                                             ; preds = %1185
  call void @llvm.lifetime.start.p0(i64 8, ptr %102) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #8
  %1196 = load ptr, ptr %98, align 8, !tbaa !11
  %1197 = invoke ptr @_ZN5boost15foreach_detail_3endINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISO_SP_EEPSL_(ptr noundef nonnull align 1 dereferenceable(1) %1196, ptr noundef null, ptr noundef null)
          to label %1198 unwind label %1205

1198:                                             ; preds = %1195
  %1199 = getelementptr inbounds %"struct.boost::foreach_detail_::auto_any.28", ptr %103, i32 0, i32 0
  %1200 = getelementptr inbounds %"struct.boost::unordered::iterator_detail::iterator.29", ptr %1199, i32 0, i32 0
  store ptr %1197, ptr %1200, align 8
  store ptr %103, ptr %102, align 8, !tbaa !11
  %1201 = load ptr, ptr %102, align 8, !tbaa !11
  %1202 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %1201)
          to label %1203 unwind label %1209

1203:                                             ; preds = %1198
  br i1 %1202, label %1204, label %1213

1204:                                             ; preds = %1203
  br label %1303

1205:                                             ; preds = %1195
  %1206 = landingpad { ptr, i32 }
          cleanup
  %1207 = extractvalue { ptr, i32 } %1206, 0
  store ptr %1207, ptr %5, align 8
  %1208 = extractvalue { ptr, i32 } %1206, 1
  store i32 %1208, ptr %6, align 4
  br label %1305

1209:                                             ; preds = %1198
  %1210 = landingpad { ptr, i32 }
          cleanup
  %1211 = extractvalue { ptr, i32 } %1210, 0
  store ptr %1211, ptr %5, align 8
  %1212 = extractvalue { ptr, i32 } %1210, 1
  store i32 %1212, ptr %6, align 4
  br label %1304

1213:                                             ; preds = %1203
  call void @llvm.lifetime.start.p0(i64 1, ptr %104) #8
  store i8 1, ptr %104, align 1, !tbaa !13
  br label %1214

1214:                                             ; preds = %1300, %1213
  %1215 = load i8, ptr %104, align 1, !tbaa !13, !range !15, !noundef !16
  %1216 = trunc i8 %1215 to i1
  br i1 %1216, label %1217, label %1223

1217:                                             ; preds = %1214
  %1218 = load ptr, ptr %100, align 8, !tbaa !11
  %1219 = load ptr, ptr %102, align 8, !tbaa !11
  %1220 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_4doneINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESO_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %1218, ptr noundef nonnull align 1 dereferenceable(1) %1219, ptr noundef null)
          to label %1221 unwind label %1226

1221:                                             ; preds = %1217
  %1222 = xor i1 %1220, true
  br label %1223

1223:                                             ; preds = %1221, %1214
  %1224 = phi i1 [ false, %1214 ], [ %1222, %1221 ]
  br i1 %1224, label %1230, label %1225

1225:                                             ; preds = %1223
  store i32 57, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %104) #8
  br label %1302

1226:                                             ; preds = %1296, %1230, %1217
  %1227 = landingpad { ptr, i32 }
          cleanup
  %1228 = extractvalue { ptr, i32 } %1227, 0
  store ptr %1228, ptr %5, align 8
  %1229 = extractvalue { ptr, i32 } %1227, 1
  store i32 %1229, ptr %6, align 4
  br label %1301

1230:                                             ; preds = %1223
  %1231 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1) %104)
          to label %1232 unwind label %1226

1232:                                             ; preds = %1230
  br i1 %1231, label %1233, label %1234

1233:                                             ; preds = %1232
  br label %1292

1234:                                             ; preds = %1232
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #8
  %1235 = load ptr, ptr %100, align 8, !tbaa !11
  %1236 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISN_SO_EE(ptr noundef nonnull align 1 dereferenceable(1) %1235, ptr noundef null)
          to label %1237 unwind label %1243

1237:                                             ; preds = %1234
  store ptr %1236, ptr %105, align 8, !tbaa !11
  br label %1238

1238:                                             ; preds = %1286, %1237
  %1239 = load i8, ptr %104, align 1, !tbaa !13, !range !15, !noundef !16
  %1240 = trunc i8 %1239 to i1
  %1241 = xor i1 %1240, true
  br i1 %1241, label %1247, label %1242

1242:                                             ; preds = %1238
  store i32 60, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #8
  br label %1291

1243:                                             ; preds = %1234
  %1244 = landingpad { ptr, i32 }
          cleanup
  %1245 = extractvalue { ptr, i32 } %1244, 0
  store ptr %1245, ptr %5, align 8
  %1246 = extractvalue { ptr, i32 } %1244, 1
  store i32 %1246, ptr %6, align 4
  br label %1290

1247:                                             ; preds = %1238
  br label %1248

1248:                                             ; preds = %1247
  call void @llvm.lifetime.start.p0(i64 32, ptr %106) #8
  %1249 = load ptr, ptr %105, align 8, !tbaa !11
  %1250 = getelementptr inbounds %"struct.std::pair.30", ptr %1249, i32 0, i32 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %106, ptr noundef nonnull align 8 dereferenceable(32) %1250)
          to label %1251 unwind label %1267

1251:                                             ; preds = %1248
  call void @llvm.lifetime.start.p0(i64 32, ptr %107) #8
  %1252 = load ptr, ptr %105, align 8, !tbaa !11
  %1253 = getelementptr inbounds %"struct.std::pair.30", ptr %1252, i32 0, i32 0
  %1254 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EEixERKS6_(ptr noundef nonnull align 8 dereferenceable(152) %48, ptr noundef nonnull align 8 dereferenceable(32) %1253)
          to label %1255 unwind label %1271

1255:                                             ; preds = %1251
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef nonnull align 8 dereferenceable(32) %1254)
          to label %1256 unwind label %1271

1256:                                             ; preds = %1255
  call void @llvm.lifetime.start.p0(i64 32, ptr %108) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull align 8 dereferenceable(32) %107)
          to label %1257 unwind label %1275

1257:                                             ; preds = %1256
  %1258 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %106, ptr noundef nonnull align 8 dereferenceable(32) %108) #8
  %1259 = xor i1 %1258, true
  %1260 = zext i1 %1259 to i64
  %1261 = call i64 @llvm.expect.i64(i64 %1260, i64 0)
  %1262 = icmp ne i64 %1261, 0
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %108) #8
  br i1 %1262, label %1263, label %1283

1263:                                             ; preds = %1257
  call void @llvm.lifetime.start.p0(i64 16, ptr %109) #8
  %1264 = getelementptr inbounds %class.anon.44, ptr %109, i32 0, i32 0
  store ptr %106, ptr %1264, align 8, !tbaa !11
  %1265 = getelementptr inbounds %class.anon.44, ptr %109, i32 0, i32 1
  store ptr %107, ptr %1265, align 8, !tbaa !11
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_8clEv"(ptr noundef nonnull align 8 dereferenceable(16) %109)
          to label %1266 unwind label %1279

1266:                                             ; preds = %1263
  call void @llvm.lifetime.end.p0(i64 16, ptr %109) #8
  br label %1283

1267:                                             ; preds = %1248
  %1268 = landingpad { ptr, i32 }
          cleanup
  %1269 = extractvalue { ptr, i32 } %1268, 0
  store ptr %1269, ptr %5, align 8
  %1270 = extractvalue { ptr, i32 } %1268, 1
  store i32 %1270, ptr %6, align 4
  br label %1289

1271:                                             ; preds = %1255, %1251
  %1272 = landingpad { ptr, i32 }
          cleanup
  %1273 = extractvalue { ptr, i32 } %1272, 0
  store ptr %1273, ptr %5, align 8
  %1274 = extractvalue { ptr, i32 } %1272, 1
  store i32 %1274, ptr %6, align 4
  br label %1288

1275:                                             ; preds = %1256
  %1276 = landingpad { ptr, i32 }
          cleanup
  %1277 = extractvalue { ptr, i32 } %1276, 0
  store ptr %1277, ptr %5, align 8
  %1278 = extractvalue { ptr, i32 } %1276, 1
  store i32 %1278, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %108) #8
  br label %1287

1279:                                             ; preds = %1263
  %1280 = landingpad { ptr, i32 }
          cleanup
  %1281 = extractvalue { ptr, i32 } %1280, 0
  store ptr %1281, ptr %5, align 8
  %1282 = extractvalue { ptr, i32 } %1280, 1
  store i32 %1282, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %109) #8
  br label %1287

1283:                                             ; preds = %1266, %1257
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %107) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %106) #8
  br label %1284

1284:                                             ; preds = %1283
  br label %1285

1285:                                             ; preds = %1284
  br label %1286

1286:                                             ; preds = %1285
  store i8 1, ptr %104, align 1, !tbaa !13
  br label %1238, !llvm.loop !31

1287:                                             ; preds = %1279, %1275
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #8
  br label %1288

1288:                                             ; preds = %1287, %1271
  call void @llvm.lifetime.end.p0(i64 32, ptr %107) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #8
  br label %1289

1289:                                             ; preds = %1288, %1267
  call void @llvm.lifetime.end.p0(i64 32, ptr %106) #8
  br label %1290

1290:                                             ; preds = %1289, %1243
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #8
  br label %1301

1291:                                             ; preds = %1242
  br label %1292

1292:                                             ; preds = %1291, %1233
  br label %1293

1293:                                             ; preds = %1292
  %1294 = load i8, ptr %104, align 1, !tbaa !13, !range !15, !noundef !16
  %1295 = trunc i8 %1294 to i1
  br i1 %1295, label %1296, label %1299

1296:                                             ; preds = %1293
  %1297 = load ptr, ptr %100, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_4nextINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %1297, ptr noundef null)
          to label %1298 unwind label %1226

1298:                                             ; preds = %1296
  br label %1300

1299:                                             ; preds = %1293
  br label %1300

1300:                                             ; preds = %1299, %1298
  br label %1214, !llvm.loop !32

1301:                                             ; preds = %1290, %1226
  call void @llvm.lifetime.end.p0(i64 1, ptr %104) #8
  br label %1304

1302:                                             ; preds = %1225
  br label %1303

1303:                                             ; preds = %1302, %1204
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #8
  br label %1306

1304:                                             ; preds = %1301, %1209
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #8
  br label %1305

1305:                                             ; preds = %1304, %1205
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #8
  br label %1307

1306:                                             ; preds = %1303, %1186
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #8
  br label %1309

1307:                                             ; preds = %1305, %1191
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #8
  br label %1308

1308:                                             ; preds = %1307, %1187
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #8
  br label %1317

1309:                                             ; preds = %1306, %1167
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %110) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %111) #8
  %1310 = invoke ptr @_ZN5boost15foreach_detail_7containIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEEENS0_8auto_anyIPT_EERSG_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(152) %48, ptr noundef null)
          to label %1311 unwind label %1319

1311:                                             ; preds = %1309
  %1312 = getelementptr inbounds %"struct.boost::foreach_detail_::auto_any.33", ptr %111, i32 0, i32 0
  store ptr %1310, ptr %1312, align 8
  store ptr %111, ptr %110, align 8, !tbaa !11
  %1313 = load ptr, ptr %110, align 8, !tbaa !11
  %1314 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %1313)
          to label %1315 unwind label %1323

1315:                                             ; preds = %1311
  br i1 %1314, label %1316, label %1327

1316:                                             ; preds = %1315
  br label %1453

1317:                                             ; preds = %1308, %1173
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #8
  br label %1318

1318:                                             ; preds = %1317, %1169
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #8
  br label %1600

1319:                                             ; preds = %1309
  %1320 = landingpad { ptr, i32 }
          cleanup
  %1321 = extractvalue { ptr, i32 } %1320, 0
  store ptr %1321, ptr %5, align 8
  %1322 = extractvalue { ptr, i32 } %1320, 1
  store i32 %1322, ptr %6, align 4
  br label %1462

1323:                                             ; preds = %1311
  %1324 = landingpad { ptr, i32 }
          cleanup
  %1325 = extractvalue { ptr, i32 } %1324, 0
  store ptr %1325, ptr %5, align 8
  %1326 = extractvalue { ptr, i32 } %1324, 1
  store i32 %1326, ptr %6, align 4
  br label %1461

1327:                                             ; preds = %1315
  call void @llvm.lifetime.start.p0(i64 8, ptr %112) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %113) #8
  %1328 = load ptr, ptr %110, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_5beginIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %113, ptr noundef nonnull align 1 dereferenceable(1) %1328, ptr noundef null, ptr noundef null)
          to label %1329 unwind label %1334

1329:                                             ; preds = %1327
  store ptr %113, ptr %112, align 8, !tbaa !11
  %1330 = load ptr, ptr %112, align 8, !tbaa !11
  %1331 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %1330)
          to label %1332 unwind label %1338

1332:                                             ; preds = %1329
  br i1 %1331, label %1333, label %1342

1333:                                             ; preds = %1332
  br label %1450

1334:                                             ; preds = %1327
  %1335 = landingpad { ptr, i32 }
          cleanup
  %1336 = extractvalue { ptr, i32 } %1335, 0
  store ptr %1336, ptr %5, align 8
  %1337 = extractvalue { ptr, i32 } %1335, 1
  store i32 %1337, ptr %6, align 4
  br label %1452

1338:                                             ; preds = %1329
  %1339 = landingpad { ptr, i32 }
          cleanup
  %1340 = extractvalue { ptr, i32 } %1339, 0
  store ptr %1340, ptr %5, align 8
  %1341 = extractvalue { ptr, i32 } %1339, 1
  store i32 %1341, ptr %6, align 4
  br label %1451

1342:                                             ; preds = %1332
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %115) #8
  %1343 = load ptr, ptr %110, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_3endIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %115, ptr noundef nonnull align 1 dereferenceable(1) %1343, ptr noundef null, ptr noundef null)
          to label %1344 unwind label %1349

1344:                                             ; preds = %1342
  store ptr %115, ptr %114, align 8, !tbaa !11
  %1345 = load ptr, ptr %114, align 8, !tbaa !11
  %1346 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %1345)
          to label %1347 unwind label %1353

1347:                                             ; preds = %1344
  br i1 %1346, label %1348, label %1357

1348:                                             ; preds = %1347
  br label %1447

1349:                                             ; preds = %1342
  %1350 = landingpad { ptr, i32 }
          cleanup
  %1351 = extractvalue { ptr, i32 } %1350, 0
  store ptr %1351, ptr %5, align 8
  %1352 = extractvalue { ptr, i32 } %1350, 1
  store i32 %1352, ptr %6, align 4
  br label %1449

1353:                                             ; preds = %1344
  %1354 = landingpad { ptr, i32 }
          cleanup
  %1355 = extractvalue { ptr, i32 } %1354, 0
  store ptr %1355, ptr %5, align 8
  %1356 = extractvalue { ptr, i32 } %1354, 1
  store i32 %1356, ptr %6, align 4
  br label %1448

1357:                                             ; preds = %1347
  call void @llvm.lifetime.start.p0(i64 1, ptr %116) #8
  store i8 1, ptr %116, align 1, !tbaa !13
  br label %1358

1358:                                             ; preds = %1444, %1357
  %1359 = load i8, ptr %116, align 1, !tbaa !13, !range !15, !noundef !16
  %1360 = trunc i8 %1359 to i1
  br i1 %1360, label %1361, label %1367

1361:                                             ; preds = %1358
  %1362 = load ptr, ptr %112, align 8, !tbaa !11
  %1363 = load ptr, ptr %114, align 8, !tbaa !11
  %1364 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_4doneIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESK_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %1362, ptr noundef nonnull align 1 dereferenceable(1) %1363, ptr noundef null)
          to label %1365 unwind label %1370

1365:                                             ; preds = %1361
  %1366 = xor i1 %1364, true
  br label %1367

1367:                                             ; preds = %1365, %1358
  %1368 = phi i1 [ false, %1358 ], [ %1366, %1365 ]
  br i1 %1368, label %1374, label %1369

1369:                                             ; preds = %1367
  store i32 65, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %116) #8
  br label %1446

1370:                                             ; preds = %1440, %1374, %1361
  %1371 = landingpad { ptr, i32 }
          cleanup
  %1372 = extractvalue { ptr, i32 } %1371, 0
  store ptr %1372, ptr %5, align 8
  %1373 = extractvalue { ptr, i32 } %1371, 1
  store i32 %1373, ptr %6, align 4
  br label %1445

1374:                                             ; preds = %1367
  %1375 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1) %116)
          to label %1376 unwind label %1370

1376:                                             ; preds = %1374
  br i1 %1375, label %1377, label %1378

1377:                                             ; preds = %1376
  br label %1436

1378:                                             ; preds = %1376
  call void @llvm.lifetime.start.p0(i64 8, ptr %117) #8
  %1379 = load ptr, ptr %112, align 8, !tbaa !11
  %1380 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISJ_SK_EE(ptr noundef nonnull align 1 dereferenceable(1) %1379, ptr noundef null)
          to label %1381 unwind label %1387

1381:                                             ; preds = %1378
  store ptr %1380, ptr %117, align 8, !tbaa !11
  br label %1382

1382:                                             ; preds = %1430, %1381
  %1383 = load i8, ptr %116, align 1, !tbaa !13, !range !15, !noundef !16
  %1384 = trunc i8 %1383 to i1
  %1385 = xor i1 %1384, true
  br i1 %1385, label %1391, label %1386

1386:                                             ; preds = %1382
  store i32 68, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #8
  br label %1435

1387:                                             ; preds = %1378
  %1388 = landingpad { ptr, i32 }
          cleanup
  %1389 = extractvalue { ptr, i32 } %1388, 0
  store ptr %1389, ptr %5, align 8
  %1390 = extractvalue { ptr, i32 } %1388, 1
  store i32 %1390, ptr %6, align 4
  br label %1434

1391:                                             ; preds = %1382
  br label %1392

1392:                                             ; preds = %1391
  call void @llvm.lifetime.start.p0(i64 32, ptr %118) #8
  %1393 = load ptr, ptr %117, align 8, !tbaa !11
  %1394 = getelementptr inbounds %"struct.std::pair.30", ptr %1393, i32 0, i32 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef nonnull align 8 dereferenceable(32) %1394)
          to label %1395 unwind label %1411

1395:                                             ; preds = %1392
  call void @llvm.lifetime.start.p0(i64 32, ptr %119) #8
  %1396 = load ptr, ptr %117, align 8, !tbaa !11
  %1397 = getelementptr inbounds %"struct.std::pair.30", ptr %1396, i32 0, i32 0
  %1398 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEixERSD_(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(32) %1397)
          to label %1399 unwind label %1415

1399:                                             ; preds = %1395
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef nonnull align 8 dereferenceable(32) %1398)
          to label %1400 unwind label %1415

1400:                                             ; preds = %1399
  call void @llvm.lifetime.start.p0(i64 32, ptr %120) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %120, ptr noundef nonnull align 8 dereferenceable(32) %119)
          to label %1401 unwind label %1419

1401:                                             ; preds = %1400
  %1402 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef nonnull align 8 dereferenceable(32) %120) #8
  %1403 = xor i1 %1402, true
  %1404 = zext i1 %1403 to i64
  %1405 = call i64 @llvm.expect.i64(i64 %1404, i64 0)
  %1406 = icmp ne i64 %1405, 0
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %120) #8
  br i1 %1406, label %1407, label %1427

1407:                                             ; preds = %1401
  call void @llvm.lifetime.start.p0(i64 16, ptr %121) #8
  %1408 = getelementptr inbounds %class.anon.45, ptr %121, i32 0, i32 0
  store ptr %118, ptr %1408, align 8, !tbaa !11
  %1409 = getelementptr inbounds %class.anon.45, ptr %121, i32 0, i32 1
  store ptr %119, ptr %1409, align 8, !tbaa !11
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_9clEv"(ptr noundef nonnull align 8 dereferenceable(16) %121)
          to label %1410 unwind label %1423

1410:                                             ; preds = %1407
  call void @llvm.lifetime.end.p0(i64 16, ptr %121) #8
  br label %1427

1411:                                             ; preds = %1392
  %1412 = landingpad { ptr, i32 }
          cleanup
  %1413 = extractvalue { ptr, i32 } %1412, 0
  store ptr %1413, ptr %5, align 8
  %1414 = extractvalue { ptr, i32 } %1412, 1
  store i32 %1414, ptr %6, align 4
  br label %1433

1415:                                             ; preds = %1399, %1395
  %1416 = landingpad { ptr, i32 }
          cleanup
  %1417 = extractvalue { ptr, i32 } %1416, 0
  store ptr %1417, ptr %5, align 8
  %1418 = extractvalue { ptr, i32 } %1416, 1
  store i32 %1418, ptr %6, align 4
  br label %1432

1419:                                             ; preds = %1400
  %1420 = landingpad { ptr, i32 }
          cleanup
  %1421 = extractvalue { ptr, i32 } %1420, 0
  store ptr %1421, ptr %5, align 8
  %1422 = extractvalue { ptr, i32 } %1420, 1
  store i32 %1422, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %120) #8
  br label %1431

1423:                                             ; preds = %1407
  %1424 = landingpad { ptr, i32 }
          cleanup
  %1425 = extractvalue { ptr, i32 } %1424, 0
  store ptr %1425, ptr %5, align 8
  %1426 = extractvalue { ptr, i32 } %1424, 1
  store i32 %1426, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %121) #8
  br label %1431

1427:                                             ; preds = %1410, %1401
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %119) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #8
  br label %1428

1428:                                             ; preds = %1427
  br label %1429

1429:                                             ; preds = %1428
  br label %1430

1430:                                             ; preds = %1429
  store i8 1, ptr %116, align 1, !tbaa !13
  br label %1382, !llvm.loop !33

1431:                                             ; preds = %1423, %1419
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #8
  br label %1432

1432:                                             ; preds = %1431, %1415
  call void @llvm.lifetime.end.p0(i64 32, ptr %119) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #8
  br label %1433

1433:                                             ; preds = %1432, %1411
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #8
  br label %1434

1434:                                             ; preds = %1433, %1387
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #8
  br label %1445

1435:                                             ; preds = %1386
  br label %1436

1436:                                             ; preds = %1435, %1377
  br label %1437

1437:                                             ; preds = %1436
  %1438 = load i8, ptr %116, align 1, !tbaa !13, !range !15, !noundef !16
  %1439 = trunc i8 %1438 to i1
  br i1 %1439, label %1440, label %1443

1440:                                             ; preds = %1437
  %1441 = load ptr, ptr %112, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_4nextIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %1441, ptr noundef null)
          to label %1442 unwind label %1370

1442:                                             ; preds = %1440
  br label %1444

1443:                                             ; preds = %1437
  br label %1444

1444:                                             ; preds = %1443, %1442
  br label %1358, !llvm.loop !34

1445:                                             ; preds = %1434, %1370
  call void @llvm.lifetime.end.p0(i64 1, ptr %116) #8
  br label %1448

1446:                                             ; preds = %1369
  br label %1447

1447:                                             ; preds = %1446, %1348
  call void @llvm.lifetime.end.p0(i64 32, ptr %115) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #8
  br label %1450

1448:                                             ; preds = %1445, %1353
  call void @llvm.lifetime.end.p0(i64 32, ptr %115) #8
  br label %1449

1449:                                             ; preds = %1448, %1349
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #8
  br label %1451

1450:                                             ; preds = %1447, %1333
  call void @llvm.lifetime.end.p0(i64 32, ptr %113) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %112) #8
  br label %1453

1451:                                             ; preds = %1449, %1338
  call void @llvm.lifetime.end.p0(i64 32, ptr %113) #8
  br label %1452

1452:                                             ; preds = %1451, %1334
  call void @llvm.lifetime.end.p0(i64 8, ptr %112) #8
  br label %1461

1453:                                             ; preds = %1450, %1316
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %110) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %122) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %123) #8
  %1454 = invoke ptr @_ZN5boost15foreach_detail_7containIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEEENS0_8auto_anyIPT_EERSG_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(152) %48, ptr noundef null)
          to label %1455 unwind label %1463

1455:                                             ; preds = %1453
  %1456 = getelementptr inbounds %"struct.boost::foreach_detail_::auto_any.33", ptr %123, i32 0, i32 0
  store ptr %1454, ptr %1456, align 8
  store ptr %123, ptr %122, align 8, !tbaa !11
  %1457 = load ptr, ptr %122, align 8, !tbaa !11
  %1458 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %1457)
          to label %1459 unwind label %1467

1459:                                             ; preds = %1455
  br i1 %1458, label %1460, label %1471

1460:                                             ; preds = %1459
  br label %1597

1461:                                             ; preds = %1452, %1323
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #8
  br label %1462

1462:                                             ; preds = %1461, %1319
  call void @llvm.lifetime.end.p0(i64 8, ptr %110) #8
  br label %1600

1463:                                             ; preds = %1453
  %1464 = landingpad { ptr, i32 }
          cleanup
  %1465 = extractvalue { ptr, i32 } %1464, 0
  store ptr %1465, ptr %5, align 8
  %1466 = extractvalue { ptr, i32 } %1464, 1
  store i32 %1466, ptr %6, align 4
  br label %1599

1467:                                             ; preds = %1455
  %1468 = landingpad { ptr, i32 }
          cleanup
  %1469 = extractvalue { ptr, i32 } %1468, 0
  store ptr %1469, ptr %5, align 8
  %1470 = extractvalue { ptr, i32 } %1468, 1
  store i32 %1470, ptr %6, align 4
  br label %1598

1471:                                             ; preds = %1459
  call void @llvm.lifetime.start.p0(i64 8, ptr %124) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %125) #8
  %1472 = load ptr, ptr %122, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_5beginIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %125, ptr noundef nonnull align 1 dereferenceable(1) %1472, ptr noundef null, ptr noundef null)
          to label %1473 unwind label %1478

1473:                                             ; preds = %1471
  store ptr %125, ptr %124, align 8, !tbaa !11
  %1474 = load ptr, ptr %124, align 8, !tbaa !11
  %1475 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %1474)
          to label %1476 unwind label %1482

1476:                                             ; preds = %1473
  br i1 %1475, label %1477, label %1486

1477:                                             ; preds = %1476
  br label %1594

1478:                                             ; preds = %1471
  %1479 = landingpad { ptr, i32 }
          cleanup
  %1480 = extractvalue { ptr, i32 } %1479, 0
  store ptr %1480, ptr %5, align 8
  %1481 = extractvalue { ptr, i32 } %1479, 1
  store i32 %1481, ptr %6, align 4
  br label %1596

1482:                                             ; preds = %1473
  %1483 = landingpad { ptr, i32 }
          cleanup
  %1484 = extractvalue { ptr, i32 } %1483, 0
  store ptr %1484, ptr %5, align 8
  %1485 = extractvalue { ptr, i32 } %1483, 1
  store i32 %1485, ptr %6, align 4
  br label %1595

1486:                                             ; preds = %1476
  call void @llvm.lifetime.start.p0(i64 8, ptr %126) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %127) #8
  %1487 = load ptr, ptr %122, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_3endIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %127, ptr noundef nonnull align 1 dereferenceable(1) %1487, ptr noundef null, ptr noundef null)
          to label %1488 unwind label %1493

1488:                                             ; preds = %1486
  store ptr %127, ptr %126, align 8, !tbaa !11
  %1489 = load ptr, ptr %126, align 8, !tbaa !11
  %1490 = invoke noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %1489)
          to label %1491 unwind label %1497

1491:                                             ; preds = %1488
  br i1 %1490, label %1492, label %1501

1492:                                             ; preds = %1491
  br label %1591

1493:                                             ; preds = %1486
  %1494 = landingpad { ptr, i32 }
          cleanup
  %1495 = extractvalue { ptr, i32 } %1494, 0
  store ptr %1495, ptr %5, align 8
  %1496 = extractvalue { ptr, i32 } %1494, 1
  store i32 %1496, ptr %6, align 4
  br label %1593

1497:                                             ; preds = %1488
  %1498 = landingpad { ptr, i32 }
          cleanup
  %1499 = extractvalue { ptr, i32 } %1498, 0
  store ptr %1499, ptr %5, align 8
  %1500 = extractvalue { ptr, i32 } %1498, 1
  store i32 %1500, ptr %6, align 4
  br label %1592

1501:                                             ; preds = %1491
  call void @llvm.lifetime.start.p0(i64 1, ptr %128) #8
  store i8 1, ptr %128, align 1, !tbaa !13
  br label %1502

1502:                                             ; preds = %1588, %1501
  %1503 = load i8, ptr %128, align 1, !tbaa !13, !range !15, !noundef !16
  %1504 = trunc i8 %1503 to i1
  br i1 %1504, label %1505, label %1511

1505:                                             ; preds = %1502
  %1506 = load ptr, ptr %124, align 8, !tbaa !11
  %1507 = load ptr, ptr %126, align 8, !tbaa !11
  %1508 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_4doneIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESK_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %1506, ptr noundef nonnull align 1 dereferenceable(1) %1507, ptr noundef null)
          to label %1509 unwind label %1514

1509:                                             ; preds = %1505
  %1510 = xor i1 %1508, true
  br label %1511

1511:                                             ; preds = %1509, %1502
  %1512 = phi i1 [ false, %1502 ], [ %1510, %1509 ]
  br i1 %1512, label %1518, label %1513

1513:                                             ; preds = %1511
  store i32 73, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %128) #8
  br label %1590

1514:                                             ; preds = %1584, %1518, %1505
  %1515 = landingpad { ptr, i32 }
          cleanup
  %1516 = extractvalue { ptr, i32 } %1515, 0
  store ptr %1516, ptr %5, align 8
  %1517 = extractvalue { ptr, i32 } %1515, 1
  store i32 %1517, ptr %6, align 4
  br label %1589

1518:                                             ; preds = %1511
  %1519 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1) %128)
          to label %1520 unwind label %1514

1520:                                             ; preds = %1518
  br i1 %1519, label %1521, label %1522

1521:                                             ; preds = %1520
  br label %1580

1522:                                             ; preds = %1520
  call void @llvm.lifetime.start.p0(i64 8, ptr %129) #8
  %1523 = load ptr, ptr %124, align 8, !tbaa !11
  %1524 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISJ_SK_EE(ptr noundef nonnull align 1 dereferenceable(1) %1523, ptr noundef null)
          to label %1525 unwind label %1531

1525:                                             ; preds = %1522
  store ptr %1524, ptr %129, align 8, !tbaa !11
  br label %1526

1526:                                             ; preds = %1574, %1525
  %1527 = load i8, ptr %128, align 1, !tbaa !13, !range !15, !noundef !16
  %1528 = trunc i8 %1527 to i1
  %1529 = xor i1 %1528, true
  br i1 %1529, label %1535, label %1530

1530:                                             ; preds = %1526
  store i32 76, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %129) #8
  br label %1579

1531:                                             ; preds = %1522
  %1532 = landingpad { ptr, i32 }
          cleanup
  %1533 = extractvalue { ptr, i32 } %1532, 0
  store ptr %1533, ptr %5, align 8
  %1534 = extractvalue { ptr, i32 } %1532, 1
  store i32 %1534, ptr %6, align 4
  br label %1578

1535:                                             ; preds = %1526
  br label %1536

1536:                                             ; preds = %1535
  call void @llvm.lifetime.start.p0(i64 32, ptr %130) #8
  %1537 = load ptr, ptr %129, align 8, !tbaa !11
  %1538 = getelementptr inbounds %"struct.std::pair.30", ptr %1537, i32 0, i32 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %130, ptr noundef nonnull align 8 dereferenceable(32) %1538)
          to label %1539 unwind label %1555

1539:                                             ; preds = %1536
  call void @llvm.lifetime.start.p0(i64 32, ptr %131) #8
  %1540 = load ptr, ptr %129, align 8, !tbaa !11
  %1541 = getelementptr inbounds %"struct.std::pair.30", ptr %1540, i32 0, i32 0
  %1542 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEixERSD_(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(32) %1541)
          to label %1543 unwind label %1559

1543:                                             ; preds = %1539
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %131, ptr noundef nonnull align 8 dereferenceable(32) %1542)
          to label %1544 unwind label %1559

1544:                                             ; preds = %1543
  call void @llvm.lifetime.start.p0(i64 32, ptr %132) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef nonnull align 8 dereferenceable(32) %131)
          to label %1545 unwind label %1563

1545:                                             ; preds = %1544
  %1546 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %130, ptr noundef nonnull align 8 dereferenceable(32) %132) #8
  %1547 = xor i1 %1546, true
  %1548 = zext i1 %1547 to i64
  %1549 = call i64 @llvm.expect.i64(i64 %1548, i64 0)
  %1550 = icmp ne i64 %1549, 0
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #8
  br i1 %1550, label %1551, label %1571

1551:                                             ; preds = %1545
  call void @llvm.lifetime.start.p0(i64 16, ptr %133) #8
  %1552 = getelementptr inbounds %class.anon.46, ptr %133, i32 0, i32 0
  store ptr %130, ptr %1552, align 8, !tbaa !11
  %1553 = getelementptr inbounds %class.anon.46, ptr %133, i32 0, i32 1
  store ptr %131, ptr %1553, align 8, !tbaa !11
  invoke void @"_ZZ33more_interesting_data_types_checkvENK4$_10clEv"(ptr noundef nonnull align 8 dereferenceable(16) %133)
          to label %1554 unwind label %1567

1554:                                             ; preds = %1551
  call void @llvm.lifetime.end.p0(i64 16, ptr %133) #8
  br label %1571

1555:                                             ; preds = %1536
  %1556 = landingpad { ptr, i32 }
          cleanup
  %1557 = extractvalue { ptr, i32 } %1556, 0
  store ptr %1557, ptr %5, align 8
  %1558 = extractvalue { ptr, i32 } %1556, 1
  store i32 %1558, ptr %6, align 4
  br label %1577

1559:                                             ; preds = %1543, %1539
  %1560 = landingpad { ptr, i32 }
          cleanup
  %1561 = extractvalue { ptr, i32 } %1560, 0
  store ptr %1561, ptr %5, align 8
  %1562 = extractvalue { ptr, i32 } %1560, 1
  store i32 %1562, ptr %6, align 4
  br label %1576

1563:                                             ; preds = %1544
  %1564 = landingpad { ptr, i32 }
          cleanup
  %1565 = extractvalue { ptr, i32 } %1564, 0
  store ptr %1565, ptr %5, align 8
  %1566 = extractvalue { ptr, i32 } %1564, 1
  store i32 %1566, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #8
  br label %1575

1567:                                             ; preds = %1551
  %1568 = landingpad { ptr, i32 }
          cleanup
  %1569 = extractvalue { ptr, i32 } %1568, 0
  store ptr %1569, ptr %5, align 8
  %1570 = extractvalue { ptr, i32 } %1568, 1
  store i32 %1570, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %133) #8
  br label %1575

1571:                                             ; preds = %1554, %1545
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %131) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #8
  br label %1572

1572:                                             ; preds = %1571
  br label %1573

1573:                                             ; preds = %1572
  br label %1574

1574:                                             ; preds = %1573
  store i8 1, ptr %128, align 1, !tbaa !13
  br label %1526, !llvm.loop !35

1575:                                             ; preds = %1567, %1563
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #8
  br label %1576

1576:                                             ; preds = %1575, %1559
  call void @llvm.lifetime.end.p0(i64 32, ptr %131) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #8
  br label %1577

1577:                                             ; preds = %1576, %1555
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #8
  br label %1578

1578:                                             ; preds = %1577, %1531
  call void @llvm.lifetime.end.p0(i64 8, ptr %129) #8
  br label %1589

1579:                                             ; preds = %1530
  br label %1580

1580:                                             ; preds = %1579, %1521
  br label %1581

1581:                                             ; preds = %1580
  %1582 = load i8, ptr %128, align 1, !tbaa !13, !range !15, !noundef !16
  %1583 = trunc i8 %1582 to i1
  br i1 %1583, label %1584, label %1587

1584:                                             ; preds = %1581
  %1585 = load ptr, ptr %124, align 8, !tbaa !11
  invoke void @_ZN5boost15foreach_detail_4nextIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %1585, ptr noundef null)
          to label %1586 unwind label %1514

1586:                                             ; preds = %1584
  br label %1588

1587:                                             ; preds = %1581
  br label %1588

1588:                                             ; preds = %1587, %1586
  br label %1502, !llvm.loop !36

1589:                                             ; preds = %1578, %1514
  call void @llvm.lifetime.end.p0(i64 1, ptr %128) #8
  br label %1592

1590:                                             ; preds = %1513
  br label %1591

1591:                                             ; preds = %1590, %1492
  call void @llvm.lifetime.end.p0(i64 32, ptr %127) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #8
  br label %1594

1592:                                             ; preds = %1589, %1497
  call void @llvm.lifetime.end.p0(i64 32, ptr %127) #8
  br label %1593

1593:                                             ; preds = %1592, %1493
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #8
  br label %1595

1594:                                             ; preds = %1591, %1477
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %124) #8
  br label %1597

1595:                                             ; preds = %1593, %1482
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #8
  br label %1596

1596:                                             ; preds = %1595, %1478
  call void @llvm.lifetime.end.p0(i64 8, ptr %124) #8
  br label %1598

1597:                                             ; preds = %1594, %1460
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #8
  call void @_ZN8graphlab8iarchiveD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %94) #8
  call void @llvm.lifetime.end.p0(i64 40, ptr %94) #8
  call void @_ZN8graphlab8oarchiveD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %90) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %90) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %89) #8
  call void @llvm.lifetime.end.p0(i64 392, ptr %89) #8
  call void @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EED2Ev(ptr noundef nonnull align 8 dereferenceable(152) %48) #8
  call void @llvm.lifetime.end.p0(i64 152, ptr %48) #8
  call void @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EED2Ev(ptr noundef nonnull align 8 dereferenceable(152) %2) #8
  call void @llvm.lifetime.end.p0(i64 152, ptr %2) #8
  call void @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %1) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %1) #8
  ret void

1598:                                             ; preds = %1596, %1467
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #8
  br label %1599

1599:                                             ; preds = %1598, %1463
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #8
  br label %1600

1600:                                             ; preds = %1599, %1462, %1318, %1168, %1146
  call void @_ZN8graphlab8iarchiveD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %94) #8
  br label %1601

1601:                                             ; preds = %1600, %1142
  call void @llvm.lifetime.end.p0(i64 40, ptr %94) #8
  br label %1602

1602:                                             ; preds = %1601, %1141, %1111
  call void @_ZN8graphlab8oarchiveD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %90) #8
  br label %1603

1603:                                             ; preds = %1602, %1107
  call void @llvm.lifetime.end.p0(i64 48, ptr %90) #8
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %89) #8
  br label %1604

1604:                                             ; preds = %1603, %1103
  call void @llvm.lifetime.end.p0(i64 392, ptr %89) #8
  br label %1605

1605:                                             ; preds = %1604, %1102, %944, %800, %647
  call void @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EED2Ev(ptr noundef nonnull align 8 dereferenceable(152) %48) #8
  br label %1606

1606:                                             ; preds = %1605, %646
  call void @llvm.lifetime.end.p0(i64 152, ptr %48) #8
  br label %1607

1607:                                             ; preds = %1606, %637, %489, %345, %177, %170
  call void @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EED2Ev(ptr noundef nonnull align 8 dereferenceable(152) %2) #8
  br label %1608

1608:                                             ; preds = %1607, %148
  call void @llvm.lifetime.end.p0(i64 152, ptr %2) #8
  call void @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %1) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %1) #8
  br label %1609

1609:                                             ; preds = %1608
  %1610 = load ptr, ptr %5, align 8
  %1611 = load i32, ptr %6, align 4
  %1612 = insertvalue { ptr, i32 } poison, ptr %1610, 0
  %1613 = insertvalue { ptr, i32 } %1612, i32 %1611, 1
  resume { ptr, i32 } %1613
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #5 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EEixERKS6_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(32)) #5 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEixERSD_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(152)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48)) #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local ptr @_ZN5boost15foreach_detail_7containINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEEENS0_8auto_anyIPT_EERSK_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef) #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local ptr @_ZN5boost15foreach_detail_5beginINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISO_SP_EEPSL_(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef, ptr noundef) #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local ptr @_ZN5boost15foreach_detail_3endINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISO_SP_EEPSL_(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef, ptr noundef) #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5boost15foreach_detail_4doneINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESO_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1), ptr noundef) #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISN_SO_EE(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef) #6

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #4

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_0clEv"(ptr noundef nonnull align 8 dereferenceable(16)) #6 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5boost15foreach_detail_4nextINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef) #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local ptr @_ZN5boost15foreach_detail_7containIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEEENS0_8auto_anyIPT_EERSG_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef) #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5boost15foreach_detail_5beginIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind noalias writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef, ptr noundef) #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5boost15foreach_detail_3endIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind noalias writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef, ptr noundef) #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5boost15foreach_detail_4doneIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESK_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1), ptr noundef) #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISJ_SK_EE(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef) #6

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_1clEv"(ptr noundef nonnull align 8 dereferenceable(16)) #6 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5boost15foreach_detail_4nextIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef) #6

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_2clEv"(ptr noundef nonnull align 8 dereferenceable(16)) #6 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EEaSERKSC_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(152)) #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_3clEv"(ptr noundef nonnull align 8 dereferenceable(16)) #6 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_4clEv"(ptr noundef nonnull align 8 dereferenceable(16)) #6 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_5clEv"(ptr noundef nonnull align 8 dereferenceable(16)) #6 align 2

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128)) unnamed_addr #5 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(48) ptr @_ZN8graphlablsINS_15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_Lm3EmN5boost4hashIS7_EESt8equal_toIS7_EEEEERNS_8oarchiveESF_RKT_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(152)) #6

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo5flushEv(ptr noundef nonnull align 8 dereferenceable(8)) #7

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(152)) #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_6clEv"(ptr noundef nonnull align 8 dereferenceable(8)) #6 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8graphlab8iarchiveC2ERSi(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN8graphlabrsINS_15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_Lm3EmN5boost4hashIS7_EESt8equal_toIS7_EEEEERNS_8iarchiveESF_RT_(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(152)) #6

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_7clEv"(ptr noundef nonnull align 8 dereferenceable(8)) #6 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_8clEv"(ptr noundef nonnull align 8 dereferenceable(16)) #6 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_9clEv"(ptr noundef nonnull align 8 dereferenceable(16)) #6 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK4$_10clEv"(ptr noundef nonnull align 8 dereferenceable(16)) #6 align 2

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8graphlab8oarchiveD2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #4 align 2

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"long", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = distinct !{!9, !10}
!10 = !{!"llvm.loop.mustprogress"}
!11 = !{!12, !12, i64 0}
!12 = !{!"any pointer", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"bool", !7, i64 0}
!15 = !{i8 0, i8 2}
!16 = !{}
!17 = distinct !{!17, !10}
!18 = distinct !{!18, !10}
!19 = distinct !{!19, !10}
!20 = distinct !{!20, !10}
!21 = distinct !{!21, !10}
!22 = distinct !{!22, !10}
!23 = distinct !{!23, !10}
!24 = distinct !{!24, !10}
!25 = distinct !{!25, !10}
!26 = distinct !{!26, !10}
!27 = distinct !{!27, !10}
!28 = distinct !{!28, !10}
!29 = !{!30, !30, i64 0}
!30 = !{!"int", !7, i64 0}
!31 = distinct !{!31, !10}
!32 = distinct !{!32, !10}
!33 = distinct !{!33, !10}
!34 = distinct !{!34, !10}
!35 = distinct !{!35, !10}
!36 = distinct !{!36, !10}


; 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::__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] }
%"class.boost::unordered::unordered_map.16" = type { %"struct.boost::unordered::detail::table.17" }
%"struct.boost::unordered::detail::table.17" = type { %"class.boost::unordered::detail::functions.18", i64, i64, float, i64, ptr }
%"class.boost::unordered::detail::functions.18" = type { i8, [2 x %"struct.boost::detail::aligned_storage::aligned_storage_imp"] }
%"struct.boost::detail::aligned_storage::aligned_storage_imp" = type { %"union.boost::detail::aligned_storage::aligned_storage_imp<1, 1>::data_t" }
%"union.boost::detail::aligned_storage::aligned_storage_imp<1, 1>::data_t" = type { [1 x i8] }
%"class.graphlab::cuckoo_map_pow2.19" = type { %"class.std::__cxx11::basic_string", i64, i64, ptr, i64, %"class.boost::unordered::unordered_map.16", %"class.boost::random::rand48", %"class.boost::uniform_int", [8 x i8], i64 }
%"class.boost::random::rand48" = type { %"class.boost::random::linear_congruential_engine" }
%"class.boost::random::linear_congruential_engine" = type { i64 }
%"class.boost::uniform_int" = type { %"class.boost::random::uniform_int_distribution" }
%"class.boost::random::uniform_int_distribution" = type { i64, i64 }
%"class.std::allocator" = type { i8 }
%"struct.boost::hash.20" = type { i8 }
%"struct.std::equal_to.23" = type { i8 }
%"struct.boost::foreach_detail_::auto_any.25" = type { ptr }
%"struct.boost::foreach_detail_::auto_any.28" = type { %"struct.boost::unordered::iterator_detail::iterator.29" }
%"struct.boost::unordered::iterator_detail::iterator.29" = type { ptr }
%class.anon.32 = type { ptr, ptr }
%"struct.boost::foreach_detail_::auto_any.33" = type { ptr }
%"struct.boost::foreach_detail_::auto_any.36" = type { %"struct.graphlab::cuckoo_map_pow2<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>::iterator" }
%"struct.graphlab::cuckoo_map_pow2<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>::iterator" = type { ptr, i8, ptr, %"struct.boost::unordered::iterator_detail::iterator.29" }
%class.anon.37 = type { ptr, ptr }
%class.anon.38 = type { ptr, ptr }
%class.anon.39 = type { ptr, ptr }
%class.anon.40 = type { ptr, ptr }
%class.anon.41 = type { ptr, ptr }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"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.graphlab::oarchive" = type { ptr, ptr, ptr, ptr, i64, i64 }
%class.anon.42 = type { ptr }
%"class.graphlab::iarchive" = type { ptr, ptr, ptr, i64, i64 }
%class.anon.43 = type { ptr }
%class.anon.44 = type { ptr, ptr }
%class.anon.45 = type { ptr, ptr }
%class.anon.46 = type { ptr, ptr }

@.str.4 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [1 x i8], align 1
@__PRETTY_FUNCTION__._Z33more_interesting_data_types_checkv = external hidden unnamed_addr constant [41 x i8], align 1

declare i32 @__gxx_personality_v0(...)

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

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

; Function Attrs: noreturn nounwind
declare void @__assert_fail(ptr noundef, ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z10randstringB5cxx11m(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i64 noundef) local_unnamed_addr #4

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

; Function Attrs: mustprogress uwtable
define dso_local void @_Z33more_interesting_data_types_checkv() local_unnamed_addr #4 personality ptr @__gxx_personality_v0 {
  %1 = alloca %"class.boost::unordered::unordered_map.16", align 8
  %2 = alloca %"class.graphlab::cuckoo_map_pow2.19", align 8
  %3 = alloca %"class.std::__cxx11::basic_string", align 8
  %4 = alloca %"class.std::allocator", align 1
  %5 = alloca %"struct.boost::hash.20", align 1
  %6 = alloca %"struct.std::equal_to.23", align 1
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"struct.boost::foreach_detail_::auto_any.25", align 8
  %9 = alloca %"struct.boost::foreach_detail_::auto_any.28", align 8
  %10 = alloca %"struct.boost::foreach_detail_::auto_any.28", align 8
  %11 = alloca i8, align 1
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %class.anon.32, align 8
  %16 = alloca %"struct.boost::foreach_detail_::auto_any.33", align 8
  %17 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %18 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %19 = alloca i8, align 1
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %class.anon.37, align 8
  %24 = alloca %"struct.boost::foreach_detail_::auto_any.33", align 8
  %25 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %26 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %27 = alloca i8, align 1
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %class.anon.38, align 8
  %32 = alloca %"class.graphlab::cuckoo_map_pow2.19", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::allocator", align 1
  %35 = alloca %"struct.boost::hash.20", align 1
  %36 = alloca %"struct.std::equal_to.23", align 1
  %37 = alloca %"struct.boost::foreach_detail_::auto_any.25", align 8
  %38 = alloca %"struct.boost::foreach_detail_::auto_any.28", align 8
  %39 = alloca %"struct.boost::foreach_detail_::auto_any.28", align 8
  %40 = alloca i8, align 1
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %class.anon.39, align 8
  %45 = alloca %"struct.boost::foreach_detail_::auto_any.33", align 8
  %46 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %47 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %48 = alloca i8, align 1
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %class.anon.40, align 8
  %53 = alloca %"struct.boost::foreach_detail_::auto_any.33", align 8
  %54 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %55 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %56 = alloca i8, align 1
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %class.anon.41, align 8
  %61 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %62 = alloca %"class.graphlab::oarchive", align 8
  %63 = alloca i64, align 8
  %64 = alloca %class.anon.42, align 8
  %65 = alloca %"class.graphlab::iarchive", align 8
  %66 = alloca i64, align 8
  %67 = alloca %class.anon.43, align 8
  %68 = alloca %"struct.boost::foreach_detail_::auto_any.25", align 8
  %69 = alloca %"struct.boost::foreach_detail_::auto_any.28", align 8
  %70 = alloca %"struct.boost::foreach_detail_::auto_any.28", align 8
  %71 = alloca i8, align 1
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca %class.anon.44, align 8
  %76 = alloca %"struct.boost::foreach_detail_::auto_any.33", align 8
  %77 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %78 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %79 = alloca i8, align 1
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.std::__cxx11::basic_string", align 8
  %83 = alloca %class.anon.45, align 8
  %84 = alloca %"struct.boost::foreach_detail_::auto_any.33", align 8
  %85 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %86 = alloca %"struct.boost::foreach_detail_::auto_any.36", align 8
  %87 = alloca i8, align 1
  %88 = alloca %"class.std::__cxx11::basic_string", align 8
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.std::__cxx11::basic_string", align 8
  %91 = alloca %class.anon.46, align 8
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %1) #7
  call void @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %1)
  call void @llvm.lifetime.start.p0(i64 152, ptr nonnull %2) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull @.str.13, ptr noundef nonnull align 1 dereferenceable(1) %4)
          to label %92 unwind label %97

92:                                               ; preds = %0
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %6) #7
  invoke void @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EEC2ES6_mRKS9_RKSB_(ptr noundef nonnull align 8 dereferenceable(152) %2, ptr noundef nonnull %3, i64 noundef 8, ptr noundef nonnull align 1 dereferenceable(1) %5, ptr noundef nonnull align 1 dereferenceable(1) %6)
          to label %93 unwind label %99

93:                                               ; preds = %92
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #7
  br label %102

94:                                               ; preds = %111
  %95 = call noundef i64 @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(152) %2)
  %96 = icmp eq i64 %95, 10000
  br i1 %96, label %119, label %118

97:                                               ; preds = %0
  %98 = landingpad { ptr, i32 }
          cleanup
  br label %101

99:                                               ; preds = %92
  %100 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #7
  br label %101

101:                                              ; preds = %99, %97
  %.pn = phi { ptr, i32 } [ %100, %99 ], [ %98, %97 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #7
  br label %705

102:                                              ; preds = %93, %111
  %.0200320 = phi i64 [ 0, %93 ], [ %112, %111 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #7
  invoke void @_Z10randstringB5cxx11m(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %7, i64 noundef 16)
          to label %103 unwind label %113

103:                                              ; preds = %102
  %104 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EEixERKS6_(ptr noundef nonnull align 8 dereferenceable(152) %2, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %105 unwind label %115

105:                                              ; preds = %103
  %106 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %104, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %107 unwind label %115

107:                                              ; preds = %105
  %108 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEixERSD_(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %109 unwind label %115

109:                                              ; preds = %107
  %110 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %111 unwind label %115

111:                                              ; preds = %109
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  %112 = add nuw nsw i64 %.0200320, 1
  %exitcond.not = icmp eq i64 %112, 10000
  br i1 %exitcond.not, label %94, label %102, !llvm.loop !5

113:                                              ; preds = %102
  %114 = landingpad { ptr, i32 }
          cleanup
  br label %117

115:                                              ; preds = %109, %107, %105, %103
  %116 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  br label %117

117:                                              ; preds = %115, %113
  %.pn300 = phi { ptr, i32 } [ %116, %115 ], [ %114, %113 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  br label %704

118:                                              ; preds = %94
  call void @__assert_fail(ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.4, i32 noundef 156, ptr noundef nonnull @__PRETTY_FUNCTION__._Z33more_interesting_data_types_checkv) #8
  unreachable

119:                                              ; preds = %94
  %120 = call noundef i64 @_ZNK5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %1) #7
  %121 = icmp eq i64 %120, 10000
  br i1 %121, label %123, label %122

122:                                              ; preds = %119
  call void @__assert_fail(ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.4, i32 noundef 157, ptr noundef nonnull @__PRETTY_FUNCTION__._Z33more_interesting_data_types_checkv) #8
  unreachable

123:                                              ; preds = %119
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #7
  %124 = invoke ptr @_ZN5boost15foreach_detail_7containINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEEENS0_8auto_anyIPT_EERSK_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef null)
          to label %125 unwind label %127

125:                                              ; preds = %123
  store ptr %124, ptr %8, align 8
  %126 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %8)
  br i1 %126, label %184, label %129

127:                                              ; preds = %123
  %128 = landingpad { ptr, i32 }
          cleanup
  br label %704

129:                                              ; preds = %125
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #7
  %130 = invoke ptr @_ZN5boost15foreach_detail_5beginINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISO_SP_EEPSL_(ptr noundef nonnull align 1 dereferenceable(1) %8, ptr noundef null, ptr noundef null)
          to label %131 unwind label %133

131:                                              ; preds = %129
  store ptr %130, ptr %9, align 8
  %132 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %9)
  br i1 %132, label %182, label %135

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

135:                                              ; preds = %131
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #7
  %136 = invoke ptr @_ZN5boost15foreach_detail_3endINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISO_SP_EEPSL_(ptr noundef nonnull align 1 dereferenceable(1) %8, ptr noundef null, ptr noundef null)
          to label %137 unwind label %139

137:                                              ; preds = %135
  store ptr %136, ptr %10, align 8
  %138 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %10)
  br i1 %138, label %180, label %.lr.ph321

139:                                              ; preds = %135
  %140 = landingpad { ptr, i32 }
          cleanup
  br label %181

.lr.ph321:                                        ; preds = %137
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %11) #7
  store i8 1, ptr %11, align 1, !tbaa !7
  %141 = getelementptr inbounds i8, ptr %15, i64 8
  br label %142

142:                                              ; preds = %.lr.ph321, %178
  %143 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_4doneINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESO_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %9, ptr noundef nonnull align 1 dereferenceable(1) %10, ptr noundef null)
          to label %144 unwind label %145

144:                                              ; preds = %142
  br i1 %143, label %.critedge, label %147

.critedge:                                        ; preds = %.loopexit319, %144, %178
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #7
  br label %180

145:                                              ; preds = %177, %142
  %146 = landingpad { ptr, i32 }
          cleanup
  br label %179

147:                                              ; preds = %144
  %148 = call noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1) %11)
  br i1 %148, label %..loopexit319_crit_edge, label %149

..loopexit319_crit_edge:                          ; preds = %147
  %.pre = load i8, ptr %11, align 1, !tbaa !7, !range !11
  br label %.loopexit319

149:                                              ; preds = %147
  %150 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISN_SO_EE(ptr noundef nonnull align 1 dereferenceable(1) %9, ptr noundef null)
          to label %.preheader318 unwind label %154

.preheader318:                                    ; preds = %149
  %151 = load i8, ptr %11, align 1, !tbaa !7, !range !11, !noundef !12
  %152 = trunc nuw i8 %151 to i1
  br i1 %152, label %.loopexit319, label %.lr.ph

.lr.ph:                                           ; preds = %.preheader318
  %153 = getelementptr inbounds i8, ptr %150, i64 32
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(32) %153)
          to label %156 unwind label %164

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

156:                                              ; preds = %.lr.ph
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #7
  %157 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EEixERKS6_(ptr noundef nonnull align 8 dereferenceable(152) %2, ptr noundef nonnull align 8 dereferenceable(32) %150)
          to label %158 unwind label %166

158:                                              ; preds = %156
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %157)
          to label %159 unwind label %166

159:                                              ; preds = %158
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %160 unwind label %168

160:                                              ; preds = %159
  %161 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #7
  br i1 %161, label %.loopexit319.thread, label %162, !prof !13

162:                                              ; preds = %160
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %15) #7
  store ptr %12, ptr %15, align 8, !tbaa !14
  store ptr %13, ptr %141, align 8, !tbaa !14
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_0clEv"(ptr noundef nonnull align 8 dereferenceable(16) %15)
          to label %163 unwind label %170

163:                                              ; preds = %162
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #7
  br label %.loopexit319.thread

164:                                              ; preds = %.lr.ph
  %165 = landingpad { ptr, i32 }
          cleanup
  br label %174

166:                                              ; preds = %158, %156
  %167 = landingpad { ptr, i32 }
          cleanup
  br label %173

168:                                              ; preds = %159
  %169 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #7
  br label %172

170:                                              ; preds = %162
  %171 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #7
  br label %172

.loopexit319.thread:                              ; preds = %160, %163
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  store i8 1, ptr %11, align 1, !tbaa !7
  br label %177

172:                                              ; preds = %170, %168
  %.pn202 = phi { ptr, i32 } [ %171, %170 ], [ %169, %168 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %173

173:                                              ; preds = %172, %166
  %.pn202.pn = phi { ptr, i32 } [ %.pn202, %172 ], [ %167, %166 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  br label %174

174:                                              ; preds = %173, %164
  %.pn202.pn.pn = phi { ptr, i32 } [ %.pn202.pn, %173 ], [ %165, %164 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  br label %179

.loopexit319:                                     ; preds = %..loopexit319_crit_edge, %.preheader318
  %175 = phi i8 [ %.pre, %..loopexit319_crit_edge ], [ %151, %.preheader318 ]
  %176 = trunc nuw i8 %175 to i1
  br i1 %176, label %177, label %.critedge

177:                                              ; preds = %.loopexit319.thread, %.loopexit319
  invoke void @_ZN5boost15foreach_detail_4nextINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %9, ptr noundef null)
          to label %178 unwind label %145

178:                                              ; preds = %177
  %.pre347 = load i8, ptr %11, align 1, !tbaa !7, !range !11
  %.pre387 = trunc nuw i8 %.pre347 to i1
  br i1 %.pre387, label %142, label %.critedge, !llvm.loop !16

179:                                              ; preds = %154, %174, %145
  %.pn207 = phi { ptr, i32 } [ %146, %145 ], [ %.pn202.pn.pn, %174 ], [ %155, %154 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  br label %181

180:                                              ; preds = %137, %.critedge
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  br label %182

181:                                              ; preds = %179, %139
  %.pn207.pn = phi { ptr, i32 } [ %.pn207, %179 ], [ %140, %139 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #7
  br label %183

182:                                              ; preds = %131, %180
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #7
  br label %184

183:                                              ; preds = %181, %133
  %.pn207.pn.pn = phi { ptr, i32 } [ %.pn207.pn, %181 ], [ %134, %133 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #7
  br label %704

184:                                              ; preds = %125, %182
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #7
  %185 = invoke ptr @_ZN5boost15foreach_detail_7containIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEEENS0_8auto_anyIPT_EERSG_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(152) %2, ptr noundef null)
          to label %186 unwind label %188

186:                                              ; preds = %184
  store ptr %185, ptr %16, align 8
  %187 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %16)
  br i1 %187, label %243, label %190

188:                                              ; preds = %184
  %189 = landingpad { ptr, i32 }
          cleanup
  br label %704

190:                                              ; preds = %186
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #7
  invoke void @_ZN5boost15foreach_detail_5beginIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind nonnull writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %17, ptr noundef nonnull align 1 dereferenceable(1) %16, ptr noundef null, ptr noundef null)
          to label %191 unwind label %193

191:                                              ; preds = %190
  %192 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %17)
  br i1 %192, label %241, label %195

193:                                              ; preds = %190
  %194 = landingpad { ptr, i32 }
          cleanup
  br label %242

195:                                              ; preds = %191
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #7
  invoke void @_ZN5boost15foreach_detail_3endIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind nonnull writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %18, ptr noundef nonnull align 1 dereferenceable(1) %16, ptr noundef null, ptr noundef null)
          to label %196 unwind label %198

196:                                              ; preds = %195
  %197 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %18)
  br i1 %197, label %239, label %.lr.ph324

198:                                              ; preds = %195
  %199 = landingpad { ptr, i32 }
          cleanup
  br label %240

.lr.ph324:                                        ; preds = %196
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) #7
  store i8 1, ptr %19, align 1, !tbaa !7
  %200 = getelementptr inbounds i8, ptr %23, i64 8
  br label %201

201:                                              ; preds = %.lr.ph324, %237
  %202 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_4doneIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESK_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %17, ptr noundef nonnull align 1 dereferenceable(1) %18, ptr noundef null)
          to label %203 unwind label %204

203:                                              ; preds = %201
  br i1 %202, label %.critedge2, label %206

.critedge2:                                       ; preds = %.loopexit317, %203, %237
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #7
  br label %239

204:                                              ; preds = %236, %201
  %205 = landingpad { ptr, i32 }
          cleanup
  br label %238

206:                                              ; preds = %203
  %207 = call noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1) %19)
  br i1 %207, label %..loopexit317_crit_edge, label %208

..loopexit317_crit_edge:                          ; preds = %206
  %.pre348 = load i8, ptr %19, align 1, !tbaa !7, !range !11
  br label %.loopexit317

208:                                              ; preds = %206
  %209 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISJ_SK_EE(ptr noundef nonnull align 1 dereferenceable(1) %17, ptr noundef null)
          to label %.preheader316 unwind label %213

.preheader316:                                    ; preds = %208
  %210 = load i8, ptr %19, align 1, !tbaa !7, !range !11, !noundef !12
  %211 = trunc nuw i8 %210 to i1
  br i1 %211, label %.loopexit317, label %.lr.ph323

.lr.ph323:                                        ; preds = %.preheader316
  %212 = getelementptr inbounds i8, ptr %209, i64 32
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %212)
          to label %215 unwind label %223

213:                                              ; preds = %208
  %214 = landingpad { ptr, i32 }
          cleanup
  br label %238

215:                                              ; preds = %.lr.ph323
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #7
  %216 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEixERSD_(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(32) %209)
          to label %217 unwind label %225

217:                                              ; preds = %215
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %216)
          to label %218 unwind label %225

218:                                              ; preds = %217
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %219 unwind label %227

219:                                              ; preds = %218
  %220 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #7
  br i1 %220, label %.loopexit317.thread, label %221, !prof !13

221:                                              ; preds = %219
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %23) #7
  store ptr %20, ptr %23, align 8, !tbaa !14
  store ptr %21, ptr %200, align 8, !tbaa !14
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_1clEv"(ptr noundef nonnull align 8 dereferenceable(16) %23)
          to label %222 unwind label %229

222:                                              ; preds = %221
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #7
  br label %.loopexit317.thread

223:                                              ; preds = %.lr.ph323
  %224 = landingpad { ptr, i32 }
          cleanup
  br label %233

225:                                              ; preds = %217, %215
  %226 = landingpad { ptr, i32 }
          cleanup
  br label %232

227:                                              ; preds = %218
  %228 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #7
  br label %231

229:                                              ; preds = %221
  %230 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #7
  br label %231

.loopexit317.thread:                              ; preds = %219, %222
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #7
  store i8 1, ptr %19, align 1, !tbaa !7
  br label %236

231:                                              ; preds = %229, %227
  %.pn212 = phi { ptr, i32 } [ %230, %229 ], [ %228, %227 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %232

232:                                              ; preds = %231, %225
  %.pn212.pn = phi { ptr, i32 } [ %.pn212, %231 ], [ %226, %225 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  br label %233

233:                                              ; preds = %232, %223
  %.pn212.pn.pn = phi { ptr, i32 } [ %.pn212.pn, %232 ], [ %224, %223 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #7
  br label %238

.loopexit317:                                     ; preds = %..loopexit317_crit_edge, %.preheader316
  %234 = phi i8 [ %.pre348, %..loopexit317_crit_edge ], [ %210, %.preheader316 ]
  %235 = trunc nuw i8 %234 to i1
  br i1 %235, label %236, label %.critedge2

236:                                              ; preds = %.loopexit317.thread, %.loopexit317
  invoke void @_ZN5boost15foreach_detail_4nextIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %17, ptr noundef null)
          to label %237 unwind label %204

237:                                              ; preds = %236
  %.pre350 = load i8, ptr %19, align 1, !tbaa !7, !range !11
  %.pre385 = trunc nuw i8 %.pre350 to i1
  br i1 %.pre385, label %201, label %.critedge2, !llvm.loop !17

238:                                              ; preds = %213, %233, %204
  %.pn217 = phi { ptr, i32 } [ %205, %204 ], [ %.pn212.pn.pn, %233 ], [ %214, %213 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #7
  br label %240

239:                                              ; preds = %196, %.critedge2
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #7
  br label %241

240:                                              ; preds = %238, %198
  %.pn217.pn = phi { ptr, i32 } [ %.pn217, %238 ], [ %199, %198 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  br label %242

241:                                              ; preds = %191, %239
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  br label %243

242:                                              ; preds = %240, %193
  %.pn217.pn.pn = phi { ptr, i32 } [ %.pn217.pn, %240 ], [ %194, %193 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #7
  br label %704

243:                                              ; preds = %186, %241
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #7
  %244 = invoke ptr @_ZN5boost15foreach_detail_7containIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEEENS0_8auto_anyIPT_EERSG_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(152) %2, ptr noundef null)
          to label %245 unwind label %247

245:                                              ; preds = %243
  store ptr %244, ptr %24, align 8
  %246 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %24)
  br i1 %246, label %302, label %249

247:                                              ; preds = %243
  %248 = landingpad { ptr, i32 }
          cleanup
  br label %704

249:                                              ; preds = %245
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #7
  invoke void @_ZN5boost15foreach_detail_5beginIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind nonnull writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %25, ptr noundef nonnull align 1 dereferenceable(1) %24, ptr noundef null, ptr noundef null)
          to label %250 unwind label %252

250:                                              ; preds = %249
  %251 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %25)
  br i1 %251, label %300, label %254

252:                                              ; preds = %249
  %253 = landingpad { ptr, i32 }
          cleanup
  br label %301

254:                                              ; preds = %250
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #7
  invoke void @_ZN5boost15foreach_detail_3endIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind nonnull writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %26, ptr noundef nonnull align 1 dereferenceable(1) %24, ptr noundef null, ptr noundef null)
          to label %255 unwind label %257

255:                                              ; preds = %254
  %256 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %26)
  br i1 %256, label %298, label %.lr.ph327

257:                                              ; preds = %254
  %258 = landingpad { ptr, i32 }
          cleanup
  br label %299

.lr.ph327:                                        ; preds = %255
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %27) #7
  store i8 1, ptr %27, align 1, !tbaa !7
  %259 = getelementptr inbounds i8, ptr %31, i64 8
  br label %260

260:                                              ; preds = %.lr.ph327, %296
  %261 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_4doneIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESK_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %25, ptr noundef nonnull align 1 dereferenceable(1) %26, ptr noundef null)
          to label %262 unwind label %263

262:                                              ; preds = %260
  br i1 %261, label %.critedge4, label %265

.critedge4:                                       ; preds = %.loopexit315, %262, %296
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #7
  br label %298

263:                                              ; preds = %295, %260
  %264 = landingpad { ptr, i32 }
          cleanup
  br label %297

265:                                              ; preds = %262
  %266 = call noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1) %27)
  br i1 %266, label %..loopexit315_crit_edge, label %267

..loopexit315_crit_edge:                          ; preds = %265
  %.pre351 = load i8, ptr %27, align 1, !tbaa !7, !range !11
  br label %.loopexit315

267:                                              ; preds = %265
  %268 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISJ_SK_EE(ptr noundef nonnull align 1 dereferenceable(1) %25, ptr noundef null)
          to label %.preheader314 unwind label %272

.preheader314:                                    ; preds = %267
  %269 = load i8, ptr %27, align 1, !tbaa !7, !range !11, !noundef !12
  %270 = trunc nuw i8 %269 to i1
  br i1 %270, label %.loopexit315, label %.lr.ph326

.lr.ph326:                                        ; preds = %.preheader314
  %271 = getelementptr inbounds i8, ptr %268, i64 32
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %271)
          to label %274 unwind label %282

272:                                              ; preds = %267
  %273 = landingpad { ptr, i32 }
          cleanup
  br label %297

274:                                              ; preds = %.lr.ph326
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #7
  %275 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEixERSD_(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(32) %268)
          to label %276 unwind label %284

276:                                              ; preds = %274
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %275)
          to label %277 unwind label %284

277:                                              ; preds = %276
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %278 unwind label %286

278:                                              ; preds = %277
  %279 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #7
  br i1 %279, label %.loopexit315.thread, label %280, !prof !13

280:                                              ; preds = %278
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %31) #7
  store ptr %28, ptr %31, align 8, !tbaa !14
  store ptr %29, ptr %259, align 8, !tbaa !14
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_2clEv"(ptr noundef nonnull align 8 dereferenceable(16) %31)
          to label %281 unwind label %288

281:                                              ; preds = %280
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %31) #7
  br label %.loopexit315.thread

282:                                              ; preds = %.lr.ph326
  %283 = landingpad { ptr, i32 }
          cleanup
  br label %292

284:                                              ; preds = %276, %274
  %285 = landingpad { ptr, i32 }
          cleanup
  br label %291

286:                                              ; preds = %277
  %287 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #7
  br label %290

288:                                              ; preds = %280
  %289 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %31) #7
  br label %290

.loopexit315.thread:                              ; preds = %278, %281
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #7
  store i8 1, ptr %27, align 1, !tbaa !7
  br label %295

290:                                              ; preds = %288, %286
  %.pn222 = phi { ptr, i32 } [ %289, %288 ], [ %287, %286 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %291

291:                                              ; preds = %290, %284
  %.pn222.pn = phi { ptr, i32 } [ %.pn222, %290 ], [ %285, %284 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  br label %292

292:                                              ; preds = %291, %282
  %.pn222.pn.pn = phi { ptr, i32 } [ %.pn222.pn, %291 ], [ %283, %282 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #7
  br label %297

.loopexit315:                                     ; preds = %..loopexit315_crit_edge, %.preheader314
  %293 = phi i8 [ %.pre351, %..loopexit315_crit_edge ], [ %269, %.preheader314 ]
  %294 = trunc nuw i8 %293 to i1
  br i1 %294, label %295, label %.critedge4

295:                                              ; preds = %.loopexit315.thread, %.loopexit315
  invoke void @_ZN5boost15foreach_detail_4nextIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %25, ptr noundef null)
          to label %296 unwind label %263

296:                                              ; preds = %295
  %.pre353 = load i8, ptr %27, align 1, !tbaa !7, !range !11
  %.pre383 = trunc nuw i8 %.pre353 to i1
  br i1 %.pre383, label %260, label %.critedge4, !llvm.loop !18

297:                                              ; preds = %272, %292, %263
  %.pn227 = phi { ptr, i32 } [ %264, %263 ], [ %.pn222.pn.pn, %292 ], [ %273, %272 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  br label %299

298:                                              ; preds = %255, %.critedge4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  br label %300

299:                                              ; preds = %297, %257
  %.pn227.pn = phi { ptr, i32 } [ %.pn227, %297 ], [ %258, %257 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #7
  br label %301

300:                                              ; preds = %250, %298
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #7
  br label %302

301:                                              ; preds = %299, %252
  %.pn227.pn.pn = phi { ptr, i32 } [ %.pn227.pn, %299 ], [ %253, %252 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #7
  br label %704

302:                                              ; preds = %245, %300
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #7
  call void @llvm.lifetime.start.p0(i64 152, ptr nonnull %32) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %34) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull @.str.13, ptr noundef nonnull align 1 dereferenceable(1) %34)
          to label %303 unwind label %310

303:                                              ; preds = %302
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %35) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #7
  invoke void @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EEC2ES6_mRKS9_RKSB_(ptr noundef nonnull align 8 dereferenceable(152) %32, ptr noundef nonnull %33, i64 noundef 8, ptr noundef nonnull align 1 dereferenceable(1) %35, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %304 unwind label %312

304:                                              ; preds = %303
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %35) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %34) #7
  %305 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EEaSERKSC_(ptr noundef nonnull align 8 dereferenceable(152) %32, ptr noundef nonnull align 8 dereferenceable(152) %2)
          to label %306 unwind label %315

306:                                              ; preds = %304
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #7
  %307 = invoke ptr @_ZN5boost15foreach_detail_7containINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEEENS0_8auto_anyIPT_EERSK_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef null)
          to label %308 unwind label %317

308:                                              ; preds = %306
  store ptr %307, ptr %37, align 8
  %309 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %37)
  br i1 %309, label %374, label %319

310:                                              ; preds = %302
  %311 = landingpad { ptr, i32 }
          cleanup
  br label %314

312:                                              ; preds = %303
  %313 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %35) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  br label %314

314:                                              ; preds = %312, %310
  %.pn232 = phi { ptr, i32 } [ %313, %312 ], [ %311, %310 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %34) #7
  br label %703

315:                                              ; preds = %304
  %316 = landingpad { ptr, i32 }
          cleanup
  br label %702

317:                                              ; preds = %306
  %318 = landingpad { ptr, i32 }
          cleanup
  br label %702

319:                                              ; preds = %308
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #7
  %320 = invoke ptr @_ZN5boost15foreach_detail_5beginINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISO_SP_EEPSL_(ptr noundef nonnull align 1 dereferenceable(1) %37, ptr noundef null, ptr noundef null)
          to label %321 unwind label %323

321:                                              ; preds = %319
  store ptr %320, ptr %38, align 8
  %322 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %38)
  br i1 %322, label %372, label %325

323:                                              ; preds = %319
  %324 = landingpad { ptr, i32 }
          cleanup
  br label %373

325:                                              ; preds = %321
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #7
  %326 = invoke ptr @_ZN5boost15foreach_detail_3endINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISO_SP_EEPSL_(ptr noundef nonnull align 1 dereferenceable(1) %37, ptr noundef null, ptr noundef null)
          to label %327 unwind label %329

327:                                              ; preds = %325
  store ptr %326, ptr %39, align 8
  %328 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %39)
  br i1 %328, label %370, label %.lr.ph330

329:                                              ; preds = %325
  %330 = landingpad { ptr, i32 }
          cleanup
  br label %371

.lr.ph330:                                        ; preds = %327
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #7
  store i8 1, ptr %40, align 1, !tbaa !7
  %331 = getelementptr inbounds i8, ptr %44, i64 8
  br label %332

332:                                              ; preds = %.lr.ph330, %368
  %333 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_4doneINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESO_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %38, ptr noundef nonnull align 1 dereferenceable(1) %39, ptr noundef null)
          to label %334 unwind label %335

334:                                              ; preds = %332
  br i1 %333, label %.critedge6, label %337

.critedge6:                                       ; preds = %.loopexit313, %334, %368
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #7
  br label %370

335:                                              ; preds = %367, %332
  %336 = landingpad { ptr, i32 }
          cleanup
  br label %369

337:                                              ; preds = %334
  %338 = call noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1) %40)
  br i1 %338, label %..loopexit313_crit_edge, label %339

..loopexit313_crit_edge:                          ; preds = %337
  %.pre354 = load i8, ptr %40, align 1, !tbaa !7, !range !11
  br label %.loopexit313

339:                                              ; preds = %337
  %340 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISN_SO_EE(ptr noundef nonnull align 1 dereferenceable(1) %38, ptr noundef null)
          to label %.preheader312 unwind label %344

.preheader312:                                    ; preds = %339
  %341 = load i8, ptr %40, align 1, !tbaa !7, !range !11, !noundef !12
  %342 = trunc nuw i8 %341 to i1
  br i1 %342, label %.loopexit313, label %.lr.ph329

.lr.ph329:                                        ; preds = %.preheader312
  %343 = getelementptr inbounds i8, ptr %340, i64 32
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %343)
          to label %346 unwind label %354

344:                                              ; preds = %339
  %345 = landingpad { ptr, i32 }
          cleanup
  br label %369

346:                                              ; preds = %.lr.ph329
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #7
  %347 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EEixERKS6_(ptr noundef nonnull align 8 dereferenceable(152) %32, ptr noundef nonnull align 8 dereferenceable(32) %340)
          to label %348 unwind label %356

348:                                              ; preds = %346
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull align 8 dereferenceable(32) %347)
          to label %349 unwind label %356

349:                                              ; preds = %348
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull align 8 dereferenceable(32) %42)
          to label %350 unwind label %358

350:                                              ; preds = %349
  %351 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  br i1 %351, label %.loopexit313.thread, label %352, !prof !13

352:                                              ; preds = %350
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %44) #7
  store ptr %41, ptr %44, align 8, !tbaa !14
  store ptr %42, ptr %331, align 8, !tbaa !14
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_3clEv"(ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %353 unwind label %360

353:                                              ; preds = %352
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %44) #7
  br label %.loopexit313.thread

354:                                              ; preds = %.lr.ph329
  %355 = landingpad { ptr, i32 }
          cleanup
  br label %364

356:                                              ; preds = %348, %346
  %357 = landingpad { ptr, i32 }
          cleanup
  br label %363

358:                                              ; preds = %349
  %359 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  br label %362

360:                                              ; preds = %352
  %361 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %44) #7
  br label %362

.loopexit313.thread:                              ; preds = %350, %353
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #7
  store i8 1, ptr %40, align 1, !tbaa !7
  br label %367

362:                                              ; preds = %360, %358
  %.pn234 = phi { ptr, i32 } [ %361, %360 ], [ %359, %358 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  br label %363

363:                                              ; preds = %362, %356
  %.pn234.pn = phi { ptr, i32 } [ %.pn234, %362 ], [ %357, %356 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  br label %364

364:                                              ; preds = %363, %354
  %.pn234.pn.pn = phi { ptr, i32 } [ %.pn234.pn, %363 ], [ %355, %354 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #7
  br label %369

.loopexit313:                                     ; preds = %..loopexit313_crit_edge, %.preheader312
  %365 = phi i8 [ %.pre354, %..loopexit313_crit_edge ], [ %341, %.preheader312 ]
  %366 = trunc nuw i8 %365 to i1
  br i1 %366, label %367, label %.critedge6

367:                                              ; preds = %.loopexit313.thread, %.loopexit313
  invoke void @_ZN5boost15foreach_detail_4nextINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %38, ptr noundef null)
          to label %368 unwind label %335

368:                                              ; preds = %367
  %.pre356 = load i8, ptr %40, align 1, !tbaa !7, !range !11
  %.pre381 = trunc nuw i8 %.pre356 to i1
  br i1 %.pre381, label %332, label %.critedge6, !llvm.loop !19

369:                                              ; preds = %344, %364, %335
  %.pn239 = phi { ptr, i32 } [ %336, %335 ], [ %.pn234.pn.pn, %364 ], [ %345, %344 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #7
  br label %371

370:                                              ; preds = %327, %.critedge6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #7
  br label %372

371:                                              ; preds = %369, %329
  %.pn239.pn = phi { ptr, i32 } [ %.pn239, %369 ], [ %330, %329 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #7
  br label %373

372:                                              ; preds = %321, %370
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #7
  br label %374

373:                                              ; preds = %371, %323
  %.pn239.pn.pn = phi { ptr, i32 } [ %.pn239.pn, %371 ], [ %324, %323 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #7
  br label %702

374:                                              ; preds = %308, %372
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #7
  %375 = invoke ptr @_ZN5boost15foreach_detail_7containIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEEENS0_8auto_anyIPT_EERSG_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(152) %32, ptr noundef null)
          to label %376 unwind label %378

376:                                              ; preds = %374
  store ptr %375, ptr %45, align 8
  %377 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %45)
  br i1 %377, label %433, label %380

378:                                              ; preds = %374
  %379 = landingpad { ptr, i32 }
          cleanup
  br label %702

380:                                              ; preds = %376
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #7
  invoke void @_ZN5boost15foreach_detail_5beginIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind nonnull writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %46, ptr noundef nonnull align 1 dereferenceable(1) %45, ptr noundef null, ptr noundef null)
          to label %381 unwind label %383

381:                                              ; preds = %380
  %382 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %46)
  br i1 %382, label %431, label %385

383:                                              ; preds = %380
  %384 = landingpad { ptr, i32 }
          cleanup
  br label %432

385:                                              ; preds = %381
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #7
  invoke void @_ZN5boost15foreach_detail_3endIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind nonnull writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %47, ptr noundef nonnull align 1 dereferenceable(1) %45, ptr noundef null, ptr noundef null)
          to label %386 unwind label %388

386:                                              ; preds = %385
  %387 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %47)
  br i1 %387, label %429, label %.lr.ph333

388:                                              ; preds = %385
  %389 = landingpad { ptr, i32 }
          cleanup
  br label %430

.lr.ph333:                                        ; preds = %386
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %48) #7
  store i8 1, ptr %48, align 1, !tbaa !7
  %390 = getelementptr inbounds i8, ptr %52, i64 8
  br label %391

391:                                              ; preds = %.lr.ph333, %427
  %392 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_4doneIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESK_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %46, ptr noundef nonnull align 1 dereferenceable(1) %47, ptr noundef null)
          to label %393 unwind label %394

393:                                              ; preds = %391
  br i1 %392, label %.critedge8, label %396

.critedge8:                                       ; preds = %.loopexit311, %393, %427
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #7
  br label %429

394:                                              ; preds = %426, %391
  %395 = landingpad { ptr, i32 }
          cleanup
  br label %428

396:                                              ; preds = %393
  %397 = call noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1) %48)
  br i1 %397, label %..loopexit311_crit_edge, label %398

..loopexit311_crit_edge:                          ; preds = %396
  %.pre357 = load i8, ptr %48, align 1, !tbaa !7, !range !11
  br label %.loopexit311

398:                                              ; preds = %396
  %399 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISJ_SK_EE(ptr noundef nonnull align 1 dereferenceable(1) %46, ptr noundef null)
          to label %.preheader310 unwind label %403

.preheader310:                                    ; preds = %398
  %400 = load i8, ptr %48, align 1, !tbaa !7, !range !11, !noundef !12
  %401 = trunc nuw i8 %400 to i1
  br i1 %401, label %.loopexit311, label %.lr.ph332

.lr.ph332:                                        ; preds = %.preheader310
  %402 = getelementptr inbounds i8, ptr %399, i64 32
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(32) %402)
          to label %405 unwind label %413

403:                                              ; preds = %398
  %404 = landingpad { ptr, i32 }
          cleanup
  br label %428

405:                                              ; preds = %.lr.ph332
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #7
  %406 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEixERSD_(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(32) %399)
          to label %407 unwind label %415

407:                                              ; preds = %405
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(32) %406)
          to label %408 unwind label %415

408:                                              ; preds = %407
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %409 unwind label %417

409:                                              ; preds = %408
  %410 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #7
  br i1 %410, label %.loopexit311.thread, label %411, !prof !13

411:                                              ; preds = %409
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %52) #7
  store ptr %49, ptr %52, align 8, !tbaa !14
  store ptr %50, ptr %390, align 8, !tbaa !14
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_4clEv"(ptr noundef nonnull align 8 dereferenceable(16) %52)
          to label %412 unwind label %419

412:                                              ; preds = %411
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %52) #7
  br label %.loopexit311.thread

413:                                              ; preds = %.lr.ph332
  %414 = landingpad { ptr, i32 }
          cleanup
  br label %423

415:                                              ; preds = %407, %405
  %416 = landingpad { ptr, i32 }
          cleanup
  br label %422

417:                                              ; preds = %408
  %418 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #7
  br label %421

419:                                              ; preds = %411
  %420 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %52) #7
  br label %421

.loopexit311.thread:                              ; preds = %409, %412
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #7
  store i8 1, ptr %48, align 1, !tbaa !7
  br label %426

421:                                              ; preds = %419, %417
  %.pn244 = phi { ptr, i32 } [ %420, %419 ], [ %418, %417 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  br label %422

422:                                              ; preds = %421, %415
  %.pn244.pn = phi { ptr, i32 } [ %.pn244, %421 ], [ %416, %415 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  br label %423

423:                                              ; preds = %422, %413
  %.pn244.pn.pn = phi { ptr, i32 } [ %.pn244.pn, %422 ], [ %414, %413 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #7
  br label %428

.loopexit311:                                     ; preds = %..loopexit311_crit_edge, %.preheader310
  %424 = phi i8 [ %.pre357, %..loopexit311_crit_edge ], [ %400, %.preheader310 ]
  %425 = trunc nuw i8 %424 to i1
  br i1 %425, label %426, label %.critedge8

426:                                              ; preds = %.loopexit311.thread, %.loopexit311
  invoke void @_ZN5boost15foreach_detail_4nextIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %46, ptr noundef null)
          to label %427 unwind label %394

427:                                              ; preds = %426
  %.pre359 = load i8, ptr %48, align 1, !tbaa !7, !range !11
  %.pre379 = trunc nuw i8 %.pre359 to i1
  br i1 %.pre379, label %391, label %.critedge8, !llvm.loop !20

428:                                              ; preds = %403, %423, %394
  %.pn249 = phi { ptr, i32 } [ %395, %394 ], [ %.pn244.pn.pn, %423 ], [ %404, %403 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #7
  br label %430

429:                                              ; preds = %386, %.critedge8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #7
  br label %431

430:                                              ; preds = %428, %388
  %.pn249.pn = phi { ptr, i32 } [ %.pn249, %428 ], [ %389, %388 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #7
  br label %432

431:                                              ; preds = %381, %429
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #7
  br label %433

432:                                              ; preds = %430, %383
  %.pn249.pn.pn = phi { ptr, i32 } [ %.pn249.pn, %430 ], [ %384, %383 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #7
  br label %702

433:                                              ; preds = %376, %431
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #7
  %434 = invoke ptr @_ZN5boost15foreach_detail_7containIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEEENS0_8auto_anyIPT_EERSG_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(152) %32, ptr noundef null)
          to label %435 unwind label %437

435:                                              ; preds = %433
  store ptr %434, ptr %53, align 8
  %436 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %53)
  br i1 %436, label %492, label %439

437:                                              ; preds = %433
  %438 = landingpad { ptr, i32 }
          cleanup
  br label %702

439:                                              ; preds = %435
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #7
  invoke void @_ZN5boost15foreach_detail_5beginIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind nonnull writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %54, ptr noundef nonnull align 1 dereferenceable(1) %53, ptr noundef null, ptr noundef null)
          to label %440 unwind label %442

440:                                              ; preds = %439
  %441 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %54)
  br i1 %441, label %490, label %444

442:                                              ; preds = %439
  %443 = landingpad { ptr, i32 }
          cleanup
  br label %491

444:                                              ; preds = %440
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #7
  invoke void @_ZN5boost15foreach_detail_3endIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind nonnull writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %55, ptr noundef nonnull align 1 dereferenceable(1) %53, ptr noundef null, ptr noundef null)
          to label %445 unwind label %447

445:                                              ; preds = %444
  %446 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %55)
  br i1 %446, label %488, label %.lr.ph336

447:                                              ; preds = %444
  %448 = landingpad { ptr, i32 }
          cleanup
  br label %489

.lr.ph336:                                        ; preds = %445
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %56) #7
  store i8 1, ptr %56, align 1, !tbaa !7
  %449 = getelementptr inbounds i8, ptr %60, i64 8
  br label %450

450:                                              ; preds = %.lr.ph336, %486
  %451 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_4doneIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESK_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %54, ptr noundef nonnull align 1 dereferenceable(1) %55, ptr noundef null)
          to label %452 unwind label %453

452:                                              ; preds = %450
  br i1 %451, label %.critedge10, label %455

.critedge10:                                      ; preds = %.loopexit309, %452, %486
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #7
  br label %488

453:                                              ; preds = %485, %450
  %454 = landingpad { ptr, i32 }
          cleanup
  br label %487

455:                                              ; preds = %452
  %456 = call noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1) %56)
  br i1 %456, label %..loopexit309_crit_edge, label %457

..loopexit309_crit_edge:                          ; preds = %455
  %.pre360 = load i8, ptr %56, align 1, !tbaa !7, !range !11
  br label %.loopexit309

457:                                              ; preds = %455
  %458 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISJ_SK_EE(ptr noundef nonnull align 1 dereferenceable(1) %54, ptr noundef null)
          to label %.preheader308 unwind label %462

.preheader308:                                    ; preds = %457
  %459 = load i8, ptr %56, align 1, !tbaa !7, !range !11, !noundef !12
  %460 = trunc nuw i8 %459 to i1
  br i1 %460, label %.loopexit309, label %.lr.ph335

.lr.ph335:                                        ; preds = %.preheader308
  %461 = getelementptr inbounds i8, ptr %458, i64 32
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull align 8 dereferenceable(32) %461)
          to label %464 unwind label %472

462:                                              ; preds = %457
  %463 = landingpad { ptr, i32 }
          cleanup
  br label %487

464:                                              ; preds = %.lr.ph335
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #7
  %465 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEixERSD_(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(32) %458)
          to label %466 unwind label %474

466:                                              ; preds = %464
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull align 8 dereferenceable(32) %465)
          to label %467 unwind label %474

467:                                              ; preds = %466
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %468 unwind label %476

468:                                              ; preds = %467
  %469 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #7
  br i1 %469, label %.loopexit309.thread, label %470, !prof !13

470:                                              ; preds = %468
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %60) #7
  store ptr %57, ptr %60, align 8, !tbaa !14
  store ptr %58, ptr %449, align 8, !tbaa !14
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_5clEv"(ptr noundef nonnull align 8 dereferenceable(16) %60)
          to label %471 unwind label %478

471:                                              ; preds = %470
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %60) #7
  br label %.loopexit309.thread

472:                                              ; preds = %.lr.ph335
  %473 = landingpad { ptr, i32 }
          cleanup
  br label %482

474:                                              ; preds = %466, %464
  %475 = landingpad { ptr, i32 }
          cleanup
  br label %481

476:                                              ; preds = %467
  %477 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #7
  br label %480

478:                                              ; preds = %470
  %479 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %60) #7
  br label %480

.loopexit309.thread:                              ; preds = %468, %471
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #7
  store i8 1, ptr %56, align 1, !tbaa !7
  br label %485

480:                                              ; preds = %478, %476
  %.pn254 = phi { ptr, i32 } [ %479, %478 ], [ %477, %476 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  br label %481

481:                                              ; preds = %480, %474
  %.pn254.pn = phi { ptr, i32 } [ %.pn254, %480 ], [ %475, %474 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  br label %482

482:                                              ; preds = %481, %472
  %.pn254.pn.pn = phi { ptr, i32 } [ %.pn254.pn, %481 ], [ %473, %472 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #7
  br label %487

.loopexit309:                                     ; preds = %..loopexit309_crit_edge, %.preheader308
  %483 = phi i8 [ %.pre360, %..loopexit309_crit_edge ], [ %459, %.preheader308 ]
  %484 = trunc nuw i8 %483 to i1
  br i1 %484, label %485, label %.critedge10

485:                                              ; preds = %.loopexit309.thread, %.loopexit309
  invoke void @_ZN5boost15foreach_detail_4nextIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %54, ptr noundef null)
          to label %486 unwind label %453

486:                                              ; preds = %485
  %.pre362 = load i8, ptr %56, align 1, !tbaa !7, !range !11
  %.pre377 = trunc nuw i8 %.pre362 to i1
  br i1 %.pre377, label %450, label %.critedge10, !llvm.loop !21

487:                                              ; preds = %462, %482, %453
  %.pn259 = phi { ptr, i32 } [ %454, %453 ], [ %.pn254.pn.pn, %482 ], [ %463, %462 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #7
  br label %489

488:                                              ; preds = %445, %.critedge10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #7
  br label %490

489:                                              ; preds = %487, %447
  %.pn259.pn = phi { ptr, i32 } [ %.pn259, %487 ], [ %448, %447 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #7
  br label %491

490:                                              ; preds = %440, %488
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #7
  br label %492

491:                                              ; preds = %489, %442
  %.pn259.pn.pn = phi { ptr, i32 } [ %.pn259.pn, %489 ], [ %443, %442 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #7
  br label %702

492:                                              ; preds = %435, %490
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #7
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %61) #7
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %61)
          to label %493 unwind label %503

493:                                              ; preds = %492
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %62) #7
  %494 = getelementptr inbounds i8, ptr %61, i64 16
  call void @_ZN8graphlab8oarchiveC2ERSo(ptr noundef nonnull align 8 dereferenceable(48) %62, ptr noundef nonnull align 8 dereferenceable(8) %494)
  %495 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN8graphlablsINS_15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_Lm3EmN5boost4hashIS7_EESt8equal_toIS7_EEEEERNS_8oarchiveESF_RKT_(ptr noundef nonnull align 8 dereferenceable(48) %62, ptr noundef nonnull align 8 dereferenceable(152) %2)
          to label %496 unwind label %505

496:                                              ; preds = %493
  %497 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo5flushEv(ptr noundef nonnull align 8 dereferenceable(8) %494)
          to label %498 unwind label %505

498:                                              ; preds = %496
  invoke void @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(152) %32)
          to label %499 unwind label %505

499:                                              ; preds = %498
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %63) #7
  %500 = call noundef i64 @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(152) %32)
  store i64 %500, ptr %63, align 8, !tbaa !22
  %.not = icmp eq i64 %500, 0
  br i1 %.not, label %509, label %501, !prof !13

501:                                              ; preds = %499
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #7
  store ptr %63, ptr %64, align 8, !tbaa !14
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_6clEv"(ptr noundef nonnull align 8 dereferenceable(8) %64)
          to label %502 unwind label %507

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

503:                                              ; preds = %492
  %504 = landingpad { ptr, i32 }
          cleanup
  br label %701

505:                                              ; preds = %498, %496, %493
  %506 = landingpad { ptr, i32 }
          cleanup
  br label %700

507:                                              ; preds = %501
  %508 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #7
  br label %700

509:                                              ; preds = %502, %499
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %65) #7
  call void @_ZN8graphlab8iarchiveC2ERSi(ptr noundef nonnull align 8 dereferenceable(40) %65, ptr noundef nonnull align 8 dereferenceable(16) %61)
  %510 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN8graphlabrsINS_15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_Lm3EmN5boost4hashIS7_EESt8equal_toIS7_EEEEERNS_8iarchiveESF_RT_(ptr noundef nonnull align 8 dereferenceable(40) %65, ptr noundef nonnull align 8 dereferenceable(152) %32)
          to label %511 unwind label %515

511:                                              ; preds = %509
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %66) #7
  %512 = call noundef i64 @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(152) %32)
  store i64 %512, ptr %66, align 8, !tbaa !22
  %.not264 = icmp eq i64 %512, 10000
  br i1 %.not264, label %519, label %513, !prof !13

513:                                              ; preds = %511
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %67) #7
  store ptr %66, ptr %67, align 8, !tbaa !14
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_7clEv"(ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %514 unwind label %517

514:                                              ; preds = %513
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #7
  br label %519

515:                                              ; preds = %509
  %516 = landingpad { ptr, i32 }
          cleanup
  br label %699

517:                                              ; preds = %513
  %518 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #7
  br label %699

519:                                              ; preds = %514, %511
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %68) #7
  %520 = invoke ptr @_ZN5boost15foreach_detail_7containINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEEENS0_8auto_anyIPT_EERSK_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef null)
          to label %521 unwind label %523

521:                                              ; preds = %519
  store ptr %520, ptr %68, align 8
  %522 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %68)
  br i1 %522, label %580, label %525

523:                                              ; preds = %519
  %524 = landingpad { ptr, i32 }
          cleanup
  br label %699

525:                                              ; preds = %521
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %69) #7
  %526 = invoke ptr @_ZN5boost15foreach_detail_5beginINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISO_SP_EEPSL_(ptr noundef nonnull align 1 dereferenceable(1) %68, ptr noundef null, ptr noundef null)
          to label %527 unwind label %529

527:                                              ; preds = %525
  store ptr %526, ptr %69, align 8
  %528 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %69)
  br i1 %528, label %578, label %531

529:                                              ; preds = %525
  %530 = landingpad { ptr, i32 }
          cleanup
  br label %579

531:                                              ; preds = %527
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) #7
  %532 = invoke ptr @_ZN5boost15foreach_detail_3endINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISO_SP_EEPSL_(ptr noundef nonnull align 1 dereferenceable(1) %68, ptr noundef null, ptr noundef null)
          to label %533 unwind label %535

533:                                              ; preds = %531
  store ptr %532, ptr %70, align 8
  %534 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %70)
  br i1 %534, label %576, label %.lr.ph339

535:                                              ; preds = %531
  %536 = landingpad { ptr, i32 }
          cleanup
  br label %577

.lr.ph339:                                        ; preds = %533
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %71) #7
  store i8 1, ptr %71, align 1, !tbaa !7
  %537 = getelementptr inbounds i8, ptr %75, i64 8
  br label %538

538:                                              ; preds = %.lr.ph339, %574
  %539 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_4doneINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESO_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %69, ptr noundef nonnull align 1 dereferenceable(1) %70, ptr noundef null)
          to label %540 unwind label %541

540:                                              ; preds = %538
  br i1 %539, label %.critedge12, label %543

.critedge12:                                      ; preds = %.loopexit307, %540, %574
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %71) #7
  br label %576

541:                                              ; preds = %573, %538
  %542 = landingpad { ptr, i32 }
          cleanup
  br label %575

543:                                              ; preds = %540
  %544 = call noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1) %71)
  br i1 %544, label %..loopexit307_crit_edge, label %545

..loopexit307_crit_edge:                          ; preds = %543
  %.pre363 = load i8, ptr %71, align 1, !tbaa !7, !range !11
  br label %.loopexit307

545:                                              ; preds = %543
  %546 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISN_SO_EE(ptr noundef nonnull align 1 dereferenceable(1) %69, ptr noundef null)
          to label %.preheader306 unwind label %550

.preheader306:                                    ; preds = %545
  %547 = load i8, ptr %71, align 1, !tbaa !7, !range !11, !noundef !12
  %548 = trunc nuw i8 %547 to i1
  br i1 %548, label %.loopexit307, label %.lr.ph338

.lr.ph338:                                        ; preds = %.preheader306
  %549 = getelementptr inbounds i8, ptr %546, i64 32
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %72) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef nonnull align 8 dereferenceable(32) %549)
          to label %552 unwind label %560

550:                                              ; preds = %545
  %551 = landingpad { ptr, i32 }
          cleanup
  br label %575

552:                                              ; preds = %.lr.ph338
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %73) #7
  %553 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EEixERKS6_(ptr noundef nonnull align 8 dereferenceable(152) %32, ptr noundef nonnull align 8 dereferenceable(32) %546)
          to label %554 unwind label %562

554:                                              ; preds = %552
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 8 dereferenceable(32) %553)
          to label %555 unwind label %562

555:                                              ; preds = %554
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %74) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %556 unwind label %564

556:                                              ; preds = %555
  %557 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef nonnull align 8 dereferenceable(32) %74) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #7
  br i1 %557, label %.loopexit307.thread, label %558, !prof !13

558:                                              ; preds = %556
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %75) #7
  store ptr %72, ptr %75, align 8, !tbaa !14
  store ptr %73, ptr %537, align 8, !tbaa !14
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_8clEv"(ptr noundef nonnull align 8 dereferenceable(16) %75)
          to label %559 unwind label %566

559:                                              ; preds = %558
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %75) #7
  br label %.loopexit307.thread

560:                                              ; preds = %.lr.ph338
  %561 = landingpad { ptr, i32 }
          cleanup
  br label %570

562:                                              ; preds = %554, %552
  %563 = landingpad { ptr, i32 }
          cleanup
  br label %569

564:                                              ; preds = %555
  %565 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #7
  br label %568

566:                                              ; preds = %558
  %567 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %75) #7
  br label %568

.loopexit307.thread:                              ; preds = %556, %559
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #7
  store i8 1, ptr %71, align 1, !tbaa !7
  br label %573

568:                                              ; preds = %566, %564
  %.pn265 = phi { ptr, i32 } [ %567, %566 ], [ %565, %564 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #7
  br label %569

569:                                              ; preds = %568, %562
  %.pn265.pn = phi { ptr, i32 } [ %.pn265, %568 ], [ %563, %562 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #7
  br label %570

570:                                              ; preds = %569, %560
  %.pn265.pn.pn = phi { ptr, i32 } [ %.pn265.pn, %569 ], [ %561, %560 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #7
  br label %575

.loopexit307:                                     ; preds = %..loopexit307_crit_edge, %.preheader306
  %571 = phi i8 [ %.pre363, %..loopexit307_crit_edge ], [ %547, %.preheader306 ]
  %572 = trunc nuw i8 %571 to i1
  br i1 %572, label %573, label %.critedge12

573:                                              ; preds = %.loopexit307.thread, %.loopexit307
  invoke void @_ZN5boost15foreach_detail_4nextINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %69, ptr noundef null)
          to label %574 unwind label %541

574:                                              ; preds = %573
  %.pre365 = load i8, ptr %71, align 1, !tbaa !7, !range !11
  %.pre375 = trunc nuw i8 %.pre365 to i1
  br i1 %.pre375, label %538, label %.critedge12, !llvm.loop !24

575:                                              ; preds = %550, %570, %541
  %.pn270 = phi { ptr, i32 } [ %542, %541 ], [ %.pn265.pn.pn, %570 ], [ %551, %550 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %71) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #7
  br label %577

576:                                              ; preds = %533, %.critedge12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #7
  br label %578

577:                                              ; preds = %575, %535
  %.pn270.pn = phi { ptr, i32 } [ %.pn270, %575 ], [ %536, %535 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #7
  br label %579

578:                                              ; preds = %527, %576
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #7
  br label %580

579:                                              ; preds = %577, %529
  %.pn270.pn.pn = phi { ptr, i32 } [ %.pn270.pn, %577 ], [ %530, %529 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #7
  br label %699

580:                                              ; preds = %521, %578
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %76) #7
  %581 = invoke ptr @_ZN5boost15foreach_detail_7containIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEEENS0_8auto_anyIPT_EERSG_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(152) %32, ptr noundef null)
          to label %582 unwind label %584

582:                                              ; preds = %580
  store ptr %581, ptr %76, align 8
  %583 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %76)
  br i1 %583, label %639, label %586

584:                                              ; preds = %580
  %585 = landingpad { ptr, i32 }
          cleanup
  br label %699

586:                                              ; preds = %582
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %77) #7
  invoke void @_ZN5boost15foreach_detail_5beginIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind nonnull writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %77, ptr noundef nonnull align 1 dereferenceable(1) %76, ptr noundef null, ptr noundef null)
          to label %587 unwind label %589

587:                                              ; preds = %586
  %588 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %77)
  br i1 %588, label %637, label %591

589:                                              ; preds = %586
  %590 = landingpad { ptr, i32 }
          cleanup
  br label %638

591:                                              ; preds = %587
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %78) #7
  invoke void @_ZN5boost15foreach_detail_3endIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind nonnull writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %78, ptr noundef nonnull align 1 dereferenceable(1) %76, ptr noundef null, ptr noundef null)
          to label %592 unwind label %594

592:                                              ; preds = %591
  %593 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %78)
  br i1 %593, label %635, label %.lr.ph342

594:                                              ; preds = %591
  %595 = landingpad { ptr, i32 }
          cleanup
  br label %636

.lr.ph342:                                        ; preds = %592
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %79) #7
  store i8 1, ptr %79, align 1, !tbaa !7
  %596 = getelementptr inbounds i8, ptr %83, i64 8
  br label %597

597:                                              ; preds = %.lr.ph342, %633
  %598 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_4doneIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESK_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %77, ptr noundef nonnull align 1 dereferenceable(1) %78, ptr noundef null)
          to label %599 unwind label %600

599:                                              ; preds = %597
  br i1 %598, label %.critedge14, label %602

.critedge14:                                      ; preds = %.loopexit305, %599, %633
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %79) #7
  br label %635

600:                                              ; preds = %632, %597
  %601 = landingpad { ptr, i32 }
          cleanup
  br label %634

602:                                              ; preds = %599
  %603 = call noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1) %79)
  br i1 %603, label %..loopexit305_crit_edge, label %604

..loopexit305_crit_edge:                          ; preds = %602
  %.pre366 = load i8, ptr %79, align 1, !tbaa !7, !range !11
  br label %.loopexit305

604:                                              ; preds = %602
  %605 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISJ_SK_EE(ptr noundef nonnull align 1 dereferenceable(1) %77, ptr noundef null)
          to label %.preheader304 unwind label %609

.preheader304:                                    ; preds = %604
  %606 = load i8, ptr %79, align 1, !tbaa !7, !range !11, !noundef !12
  %607 = trunc nuw i8 %606 to i1
  br i1 %607, label %.loopexit305, label %.lr.ph341

.lr.ph341:                                        ; preds = %.preheader304
  %608 = getelementptr inbounds i8, ptr %605, i64 32
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %80) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef nonnull align 8 dereferenceable(32) %608)
          to label %611 unwind label %619

609:                                              ; preds = %604
  %610 = landingpad { ptr, i32 }
          cleanup
  br label %634

611:                                              ; preds = %.lr.ph341
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %81) #7
  %612 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEixERSD_(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(32) %605)
          to label %613 unwind label %621

613:                                              ; preds = %611
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull align 8 dereferenceable(32) %612)
          to label %614 unwind label %621

614:                                              ; preds = %613
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %82) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull align 8 dereferenceable(32) %81)
          to label %615 unwind label %623

615:                                              ; preds = %614
  %616 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef nonnull align 8 dereferenceable(32) %82) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %82) #7
  br i1 %616, label %.loopexit305.thread, label %617, !prof !13

617:                                              ; preds = %615
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %83) #7
  store ptr %80, ptr %83, align 8, !tbaa !14
  store ptr %81, ptr %596, align 8, !tbaa !14
  invoke void @"_ZZ33more_interesting_data_types_checkvENK3$_9clEv"(ptr noundef nonnull align 8 dereferenceable(16) %83)
          to label %618 unwind label %625

618:                                              ; preds = %617
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %83) #7
  br label %.loopexit305.thread

619:                                              ; preds = %.lr.ph341
  %620 = landingpad { ptr, i32 }
          cleanup
  br label %629

621:                                              ; preds = %613, %611
  %622 = landingpad { ptr, i32 }
          cleanup
  br label %628

623:                                              ; preds = %614
  %624 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %82) #7
  br label %627

625:                                              ; preds = %617
  %626 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %83) #7
  br label %627

.loopexit305.thread:                              ; preds = %615, %618
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #7
  store i8 1, ptr %79, align 1, !tbaa !7
  br label %632

627:                                              ; preds = %625, %623
  %.pn275 = phi { ptr, i32 } [ %626, %625 ], [ %624, %623 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #7
  br label %628

628:                                              ; preds = %627, %621
  %.pn275.pn = phi { ptr, i32 } [ %.pn275, %627 ], [ %622, %621 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #7
  br label %629

629:                                              ; preds = %628, %619
  %.pn275.pn.pn = phi { ptr, i32 } [ %.pn275.pn, %628 ], [ %620, %619 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #7
  br label %634

.loopexit305:                                     ; preds = %..loopexit305_crit_edge, %.preheader304
  %630 = phi i8 [ %.pre366, %..loopexit305_crit_edge ], [ %606, %.preheader304 ]
  %631 = trunc nuw i8 %630 to i1
  br i1 %631, label %632, label %.critedge14

632:                                              ; preds = %.loopexit305.thread, %.loopexit305
  invoke void @_ZN5boost15foreach_detail_4nextIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %77, ptr noundef null)
          to label %633 unwind label %600

633:                                              ; preds = %632
  %.pre368 = load i8, ptr %79, align 1, !tbaa !7, !range !11
  %.pre373 = trunc nuw i8 %.pre368 to i1
  br i1 %.pre373, label %597, label %.critedge14, !llvm.loop !25

634:                                              ; preds = %609, %629, %600
  %.pn280 = phi { ptr, i32 } [ %601, %600 ], [ %.pn275.pn.pn, %629 ], [ %610, %609 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %79) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %78) #7
  br label %636

635:                                              ; preds = %592, %.critedge14
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %78) #7
  br label %637

636:                                              ; preds = %634, %594
  %.pn280.pn = phi { ptr, i32 } [ %.pn280, %634 ], [ %595, %594 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #7
  br label %638

637:                                              ; preds = %587, %635
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #7
  br label %639

638:                                              ; preds = %636, %589
  %.pn280.pn.pn = phi { ptr, i32 } [ %.pn280.pn, %636 ], [ %590, %589 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #7
  br label %699

639:                                              ; preds = %582, %637
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %84) #7
  %640 = invoke ptr @_ZN5boost15foreach_detail_7containIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEEENS0_8auto_anyIPT_EERSG_PN4mpl_5bool_ILb0EEE(ptr noundef nonnull align 8 dereferenceable(152) %32, ptr noundef null)
          to label %641 unwind label %643

641:                                              ; preds = %639
  store ptr %640, ptr %84, align 8
  %642 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %84)
  br i1 %642, label %698, label %645

643:                                              ; preds = %639
  %644 = landingpad { ptr, i32 }
          cleanup
  br label %699

645:                                              ; preds = %641
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %85) #7
  invoke void @_ZN5boost15foreach_detail_5beginIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind nonnull writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %85, ptr noundef nonnull align 1 dereferenceable(1) %84, ptr noundef null, ptr noundef null)
          to label %646 unwind label %648

646:                                              ; preds = %645
  %647 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %85)
  br i1 %647, label %696, label %650

648:                                              ; preds = %645
  %649 = landingpad { ptr, i32 }
          cleanup
  br label %697

650:                                              ; preds = %646
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %86) #7
  invoke void @_ZN5boost15foreach_detail_3endIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind nonnull writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8 %86, ptr noundef nonnull align 1 dereferenceable(1) %84, ptr noundef null, ptr noundef null)
          to label %651 unwind label %653

651:                                              ; preds = %650
  %652 = call noundef zeroext i1 @_ZNK5boost15foreach_detail_13auto_any_basecvbEv(ptr noundef nonnull align 1 dereferenceable(1) %86)
  br i1 %652, label %694, label %.lr.ph345

653:                                              ; preds = %650
  %654 = landingpad { ptr, i32 }
          cleanup
  br label %695

.lr.ph345:                                        ; preds = %651
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %87) #7
  store i8 1, ptr %87, align 1, !tbaa !7
  %655 = getelementptr inbounds i8, ptr %91, i64 8
  br label %656

656:                                              ; preds = %.lr.ph345, %692
  %657 = invoke noundef zeroext i1 @_ZN5boost15foreach_detail_4doneIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESK_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %85, ptr noundef nonnull align 1 dereferenceable(1) %86, ptr noundef null)
          to label %658 unwind label %659

658:                                              ; preds = %656
  br i1 %657, label %.critedge16, label %661

.critedge16:                                      ; preds = %.loopexit, %658, %692
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %87) #7
  br label %694

659:                                              ; preds = %691, %656
  %660 = landingpad { ptr, i32 }
          cleanup
  br label %693

661:                                              ; preds = %658
  %662 = call noundef zeroext i1 @_ZN5boost15foreach_detail_9set_falseERb(ptr noundef nonnull align 1 dereferenceable(1) %87)
  br i1 %662, label %..loopexit_crit_edge, label %663

..loopexit_crit_edge:                             ; preds = %661
  %.pre369 = load i8, ptr %87, align 1, !tbaa !7, !range !11
  br label %.loopexit

663:                                              ; preds = %661
  %664 = invoke noundef nonnull align 8 dereferenceable(64) ptr @_ZN5boost15foreach_detail_5derefIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_17foreach_referenceIT_T0_E4typeERKNS0_13auto_any_baseEPNS0_9type2typeISJ_SK_EE(ptr noundef nonnull align 1 dereferenceable(1) %85, ptr noundef null)
          to label %.preheader unwind label %668

.preheader:                                       ; preds = %663
  %665 = load i8, ptr %87, align 1, !tbaa !7, !range !11, !noundef !12
  %666 = trunc nuw i8 %665 to i1
  br i1 %666, label %.loopexit, label %.lr.ph344

.lr.ph344:                                        ; preds = %.preheader
  %667 = getelementptr inbounds i8, ptr %664, i64 32
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %88) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull align 8 dereferenceable(32) %667)
          to label %670 unwind label %678

668:                                              ; preds = %663
  %669 = landingpad { ptr, i32 }
          cleanup
  br label %693

670:                                              ; preds = %.lr.ph344
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %89) #7
  %671 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEixERSD_(ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(32) %664)
          to label %672 unwind label %680

672:                                              ; preds = %670
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef nonnull align 8 dereferenceable(32) %671)
          to label %673 unwind label %680

673:                                              ; preds = %672
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %90) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef nonnull align 8 dereferenceable(32) %89)
          to label %674 unwind label %682

674:                                              ; preds = %673
  %675 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull align 8 dereferenceable(32) %90) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %90) #7
  br i1 %675, label %.loopexit.thread, label %676, !prof !13

676:                                              ; preds = %674
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %91) #7
  store ptr %88, ptr %91, align 8, !tbaa !14
  store ptr %89, ptr %655, align 8, !tbaa !14
  invoke void @"_ZZ33more_interesting_data_types_checkvENK4$_10clEv"(ptr noundef nonnull align 8 dereferenceable(16) %91)
          to label %677 unwind label %684

677:                                              ; preds = %676
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %91) #7
  br label %.loopexit.thread

678:                                              ; preds = %.lr.ph344
  %679 = landingpad { ptr, i32 }
          cleanup
  br label %688

680:                                              ; preds = %672, %670
  %681 = landingpad { ptr, i32 }
          cleanup
  br label %687

682:                                              ; preds = %673
  %683 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %90) #7
  br label %686

684:                                              ; preds = %676
  %685 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %91) #7
  br label %686

.loopexit.thread:                                 ; preds = %674, %677
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %88) #7
  store i8 1, ptr %87, align 1, !tbaa !7
  br label %691

686:                                              ; preds = %684, %682
  %.pn285 = phi { ptr, i32 } [ %685, %684 ], [ %683, %682 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #7
  br label %687

687:                                              ; preds = %686, %680
  %.pn285.pn = phi { ptr, i32 } [ %.pn285, %686 ], [ %681, %680 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #7
  br label %688

688:                                              ; preds = %687, %678
  %.pn285.pn.pn = phi { ptr, i32 } [ %.pn285.pn, %687 ], [ %679, %678 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %88) #7
  br label %693

.loopexit:                                        ; preds = %..loopexit_crit_edge, %.preheader
  %689 = phi i8 [ %.pre369, %..loopexit_crit_edge ], [ %665, %.preheader ]
  %690 = trunc nuw i8 %689 to i1
  br i1 %690, label %691, label %.critedge16

691:                                              ; preds = %.loopexit.thread, %.loopexit
  invoke void @_ZN5boost15foreach_detail_4nextIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1) %85, ptr noundef null)
          to label %692 unwind label %659

692:                                              ; preds = %691
  %.pre371 = load i8, ptr %87, align 1, !tbaa !7, !range !11
  %.pre372 = trunc nuw i8 %.pre371 to i1
  br i1 %.pre372, label %656, label %.critedge16, !llvm.loop !26

693:                                              ; preds = %668, %688, %659
  %.pn290 = phi { ptr, i32 } [ %660, %659 ], [ %.pn285.pn.pn, %688 ], [ %669, %668 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %87) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %86) #7
  br label %695

694:                                              ; preds = %651, %.critedge16
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %86) #7
  br label %696

695:                                              ; preds = %693, %653
  %.pn290.pn = phi { ptr, i32 } [ %.pn290, %693 ], [ %654, %653 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #7
  br label %697

696:                                              ; preds = %646, %694
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #7
  br label %698

697:                                              ; preds = %695, %648
  %.pn290.pn.pn = phi { ptr, i32 } [ %.pn290.pn, %695 ], [ %649, %648 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #7
  br label %699

698:                                              ; preds = %641, %696
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #7
  call void @_ZN8graphlab8iarchiveD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %65) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %65) #7
  call void @_ZN8graphlab8oarchiveD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %62) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %62) #7
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %61) #7
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %61) #7
  call void @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EED2Ev(ptr noundef nonnull align 8 dereferenceable(152) %32) #7
  call void @llvm.lifetime.end.p0(i64 152, ptr nonnull %32) #7
  call void @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EED2Ev(ptr noundef nonnull align 8 dereferenceable(152) %2) #7
  call void @llvm.lifetime.end.p0(i64 152, ptr nonnull %2) #7
  call void @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %1) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %1) #7
  ret void

699:                                              ; preds = %643, %697, %584, %638, %523, %579, %517, %515
  %.pn290.pn.pn.pn.pn = phi { ptr, i32 } [ %518, %517 ], [ %516, %515 ], [ %.pn270.pn.pn, %579 ], [ %524, %523 ], [ %.pn280.pn.pn, %638 ], [ %585, %584 ], [ %.pn290.pn.pn, %697 ], [ %644, %643 ]
  call void @_ZN8graphlab8iarchiveD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %65) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %65) #7
  br label %700

700:                                              ; preds = %699, %507, %505
  %.pn290.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn290.pn.pn.pn.pn, %699 ], [ %508, %507 ], [ %506, %505 ]
  call void @_ZN8graphlab8oarchiveD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %62) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %62) #7
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %61) #7
  br label %701

701:                                              ; preds = %700, %503
  %.pn290.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn290.pn.pn.pn.pn.pn, %700 ], [ %504, %503 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %61) #7
  br label %702

702:                                              ; preds = %437, %491, %378, %432, %317, %373, %701, %315
  %.pn290.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn290.pn.pn.pn.pn.pn.pn, %701 ], [ %316, %315 ], [ %.pn239.pn.pn, %373 ], [ %318, %317 ], [ %.pn249.pn.pn, %432 ], [ %379, %378 ], [ %.pn259.pn.pn, %491 ], [ %438, %437 ]
  call void @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EED2Ev(ptr noundef nonnull align 8 dereferenceable(152) %32) #7
  br label %703

703:                                              ; preds = %702, %314
  %.pn290.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn290.pn.pn.pn.pn.pn.pn.pn, %702 ], [ %.pn232, %314 ]
  call void @llvm.lifetime.end.p0(i64 152, ptr nonnull %32) #7
  br label %704

704:                                              ; preds = %247, %301, %188, %242, %127, %183, %703, %117
  %.pn300.pn = phi { ptr, i32 } [ %.pn300, %117 ], [ %.pn290.pn.pn.pn.pn.pn.pn.pn.pn, %703 ], [ %.pn207.pn.pn, %183 ], [ %128, %127 ], [ %.pn217.pn.pn, %242 ], [ %189, %188 ], [ %.pn227.pn.pn, %301 ], [ %248, %247 ]
  call void @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EED2Ev(ptr noundef nonnull align 8 dereferenceable(152) %2) #7
  br label %705

705:                                              ; preds = %704, %101
  %.pn300.pn.pn = phi { ptr, i32 } [ %.pn300.pn, %704 ], [ %.pn, %101 ]
  call void @llvm.lifetime.end.p0(i64 152, ptr nonnull %2) #7
  call void @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %1) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %1) #7
  resume { ptr, i32 } %.pn300.pn.pn
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EEC2ES6_mRKS9_RKSB_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef, i64 noundef, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EEixERKS6_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEEixERSD_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(152)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK5boost9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS_4hashIS7_EESt8equal_toIS7_ESaISt4pairIKS7_S7_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #2 align 2

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5boost15foreach_detail_4doneINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESO_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1), ptr noundef) local_unnamed_addr #5

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_0clEv"(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5boost15foreach_detail_4nextINS_9unordered13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS_4hashIS9_EESt8equal_toIS9_ESaISt4pairIKS9_S9_EEEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef) local_unnamed_addr #5

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5boost15foreach_detail_5beginIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind noalias writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef, ptr noundef) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5boost15foreach_detail_3endIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEENS0_8auto_anyINS0_16foreach_iteratorIT_T0_E4typeEEERKNS0_13auto_any_baseEPNS0_9type2typeISK_SL_EEPSH_(ptr dead_on_unwind noalias writable sret(%"struct.boost::foreach_detail_::auto_any.36") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef, ptr noundef) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5boost15foreach_detail_4doneIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEbRKNS0_13auto_any_baseESK_PNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1), ptr noundef) local_unnamed_addr #5

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_1clEv"(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5boost15foreach_detail_4nextIN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_Lm3EmNS_4hashIS9_EESt8equal_toIS9_EEEN4mpl_5bool_ILb0EEEEEvRKNS0_13auto_any_baseEPNS0_9type2typeIT_T0_EE(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_2clEv"(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EEaSERKSC_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(152)) local_unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_3clEv"(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_4clEv"(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_5clEv"(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128)) unnamed_addr #4 align 2

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

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

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSo5flushEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8graphlab15cuckoo_map_pow2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_Lm3EmN5boost4hashIS6_EESt8equal_toIS6_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(152)) local_unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_6clEv"(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5 align 2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_7clEv"(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_8clEv"(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK3$_9clEv"(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZ33more_interesting_data_types_checkvENK4$_10clEv"(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5 align 2

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

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

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

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


; Effective O3 passes: BDCEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LowerExpectIntrinsicPass,SCCPPass,SROAPass,SimplifyCFGPass