; LLVM IR from richgrov/simulo-engine :: src/test_main.ll (ZN7doctest7Context9parseArgsEiPKPKcb)

; 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.doctest::String" = type { %union.anon.7 }
%union.anon.7 = type { %"struct.doctest::String::view", [8 x i8] }
%"struct.doctest::String::view" = type { ptr, i32, i32 }
%"class.doctest::Context" = type { ptr }
%"struct.doctest::detail::ContextState" = type <{ %"struct.doctest::ContextOptions.base", i8, %"struct.doctest::TestRunStats", %"struct.doctest::CurrentTestCaseStats", %"class.doctest::detail::MultiLaneAtomic", %"class.doctest::detail::MultiLaneAtomic", %"class.std::vector.9", %"class.std::vector.14", ptr, %"struct.doctest::detail::Timer", %"class.std::vector.19", i8, [7 x i8], %"class.std::vector.24", %"class.std::vector.24", %"class.std::unordered_set", i64, %"struct.std::atomic.34", [7 x i8] }>
%"struct.doctest::ContextOptions.base" = type <{ ptr, %"class.doctest::String", ptr, %"class.doctest::String", %"class.doctest::String", i32, i32, i32, i32, i32, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 }>
%"struct.doctest::TestRunStats" = type { i32, i32, i32, i32, i32, i32 }
%"struct.doctest::CurrentTestCaseStats" = type { i32, i32, double, i32, i8 }
%"class.doctest::detail::MultiLaneAtomic" = type { [32 x %"struct.doctest::detail::MultiLaneAtomic<int>::CacheLineAlignedAtomic"] }
%"struct.doctest::detail::MultiLaneAtomic<int>::CacheLineAlignedAtomic" = type { %"struct.std::atomic", [60 x i8] }
%"struct.std::atomic" = type { %"struct.std::__atomic_base" }
%"struct.std::__atomic_base" = type { i32 }
%"class.std::vector.9" = type { %"struct.std::_Vector_base.10" }
%"struct.std::_Vector_base.10" = type { %"struct.std::_Vector_base<std::vector<doctest::String>, std::allocator<std::vector<doctest::String>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<doctest::String>, std::allocator<std::vector<doctest::String>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<doctest::String>, std::allocator<std::vector<doctest::String>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<doctest::String>, std::allocator<std::vector<doctest::String>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.14" = type { %"struct.std::_Vector_base.15" }
%"struct.std::_Vector_base.15" = type { %"struct.std::_Vector_base<doctest::IReporter *, std::allocator<doctest::IReporter *>>::_Vector_impl" }
%"struct.std::_Vector_base<doctest::IReporter *, std::allocator<doctest::IReporter *>>::_Vector_impl" = type { %"struct.std::_Vector_base<doctest::IReporter *, std::allocator<doctest::IReporter *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<doctest::IReporter *, std::allocator<doctest::IReporter *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.doctest::detail::Timer" = type { i64 }
%"class.std::vector.19" = type { %"struct.std::_Vector_base.20" }
%"struct.std::_Vector_base.20" = type { %"struct.std::_Vector_base<doctest::String, std::allocator<doctest::String>>::_Vector_impl" }
%"struct.std::_Vector_base<doctest::String, std::allocator<doctest::String>>::_Vector_impl" = type { %"struct.std::_Vector_base<doctest::String, std::allocator<doctest::String>>::_Vector_impl_data" }
%"struct.std::_Vector_base<doctest::String, std::allocator<doctest::String>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.24" = type { %"struct.std::_Vector_base.25" }
%"struct.std::_Vector_base.25" = type { %"struct.std::_Vector_base<doctest::SubcaseSignature, std::allocator<doctest::SubcaseSignature>>::_Vector_impl" }
%"struct.std::_Vector_base<doctest::SubcaseSignature, std::allocator<doctest::SubcaseSignature>>::_Vector_impl" = type { %"struct.std::_Vector_base<doctest::SubcaseSignature, std::allocator<doctest::SubcaseSignature>>::_Vector_impl_data" }
%"struct.std::_Vector_base<doctest::SubcaseSignature, std::allocator<doctest::SubcaseSignature>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::unordered_set" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"struct.std::atomic.34" = type { %"struct.std::__atomic_base.35" }
%"struct.std::__atomic_base.35" = type { i8 }
%"struct.doctest::ContextOptions" = type <{ ptr, %"class.doctest::String", ptr, %"class.doctest::String", %"class.doctest::String", i32, i32, i32, i32, i32, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 }>

@.str = external hidden unnamed_addr constant [1 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [6 x i8], align 1

; 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: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN7doctest6StringaSERKS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #1 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #2 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN7doctest7Context9parseArgsEiPKPKcb(ptr noundef nonnull align 8 dereferenceable(8) %0, i32 noundef %1, ptr noundef %2, i1 noundef zeroext %3) #1 align 2 personality ptr @__gxx_personality_v0 {
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca ptr, align 8
  %8 = alloca i8, align 1
  %9 = alloca i32, align 4
  %10 = alloca %"class.doctest::String", align 8
  %11 = alloca %"class.doctest::String", align 8
  %12 = alloca ptr, align 8
  %13 = alloca i32, align 4
  %14 = alloca %"class.doctest::String", align 8
  %15 = alloca i1, align 1
  %16 = alloca i1, align 1
  %17 = alloca %"class.doctest::String", align 8
  %18 = alloca %"class.doctest::String", align 8
  %19 = alloca i1, align 1
  %20 = alloca i1, align 1
  store ptr %0, ptr %5, align 8, !tbaa !5
  store i32 %1, ptr %6, align 4, !tbaa !9
  store ptr %2, ptr %7, align 8, !tbaa !5
  %21 = zext i1 %3 to i8
  store i8 %21, ptr %8, align 1, !tbaa !11
  %22 = load ptr, ptr %5, align 8
  %23 = load i32, ptr %6, align 4, !tbaa !9
  %24 = load ptr, ptr %7, align 8, !tbaa !5
  %25 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %26 = load ptr, ptr %25, align 8, !tbaa !13
  %27 = getelementptr inbounds %"struct.doctest::detail::ContextState", ptr %26, i32 0, i32 6
  %28 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %27, i64 noundef 0) #3
  %29 = call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %23, ptr noundef %24, ptr noundef @.str.72, ptr noundef nonnull align 8 dereferenceable(24) %28)
  %30 = load i32, ptr %6, align 4, !tbaa !9
  %31 = load ptr, ptr %7, align 8, !tbaa !5
  %32 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %33 = load ptr, ptr %32, align 8, !tbaa !13
  %34 = getelementptr inbounds %"struct.doctest::detail::ContextState", ptr %33, i32 0, i32 6
  %35 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %34, i64 noundef 0) #3
  %36 = call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %30, ptr noundef %31, ptr noundef @.str.73, ptr noundef nonnull align 8 dereferenceable(24) %35)
  %37 = load i32, ptr %6, align 4, !tbaa !9
  %38 = load ptr, ptr %7, align 8, !tbaa !5
  %39 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %40 = load ptr, ptr %39, align 8, !tbaa !13
  %41 = getelementptr inbounds %"struct.doctest::detail::ContextState", ptr %40, i32 0, i32 6
  %42 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %41, i64 noundef 1) #3
  %43 = call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %37, ptr noundef %38, ptr noundef @.str.74, ptr noundef nonnull align 8 dereferenceable(24) %42)
  %44 = load i32, ptr %6, align 4, !tbaa !9
  %45 = load ptr, ptr %7, align 8, !tbaa !5
  %46 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %47 = load ptr, ptr %46, align 8, !tbaa !13
  %48 = getelementptr inbounds %"struct.doctest::detail::ContextState", ptr %47, i32 0, i32 6
  %49 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %48, i64 noundef 1) #3
  %50 = call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %44, ptr noundef %45, ptr noundef @.str.75, ptr noundef nonnull align 8 dereferenceable(24) %49)
  %51 = load i32, ptr %6, align 4, !tbaa !9
  %52 = load ptr, ptr %7, align 8, !tbaa !5
  %53 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %54 = load ptr, ptr %53, align 8, !tbaa !13
  %55 = getelementptr inbounds %"struct.doctest::detail::ContextState", ptr %54, i32 0, i32 6
  %56 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %55, i64 noundef 2) #3
  %57 = call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %51, ptr noundef %52, ptr noundef @.str.76, ptr noundef nonnull align 8 dereferenceable(24) %56)
  %58 = load i32, ptr %6, align 4, !tbaa !9
  %59 = load ptr, ptr %7, align 8, !tbaa !5
  %60 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %61 = load ptr, ptr %60, align 8, !tbaa !13
  %62 = getelementptr inbounds %"struct.doctest::detail::ContextState", ptr %61, i32 0, i32 6
  %63 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %62, i64 noundef 2) #3
  %64 = call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %58, ptr noundef %59, ptr noundef @.str.77, ptr noundef nonnull align 8 dereferenceable(24) %63)
  %65 = load i32, ptr %6, align 4, !tbaa !9
  %66 = load ptr, ptr %7, align 8, !tbaa !5
  %67 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %68 = load ptr, ptr %67, align 8, !tbaa !13
  %69 = getelementptr inbounds %"struct.doctest::detail::ContextState", ptr %68, i32 0, i32 6
  %70 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %69, i64 noundef 3) #3
  %71 = call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %65, ptr noundef %66, ptr noundef @.str.78, ptr noundef nonnull align 8 dereferenceable(24) %70)
  %72 = load i32, ptr %6, align 4, !tbaa !9
  %73 = load ptr, ptr %7, align 8, !tbaa !5
  %74 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %75 = load ptr, ptr %74, align 8, !tbaa !13
  %76 = getelementptr inbounds %"struct.doctest::detail::ContextState", ptr %75, i32 0, i32 6
  %77 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %76, i64 noundef 3) #3
  %78 = call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %72, ptr noundef %73, ptr noundef @.str.79, ptr noundef nonnull align 8 dereferenceable(24) %77)
  %79 = load i32, ptr %6, align 4, !tbaa !9
  %80 = load ptr, ptr %7, align 8, !tbaa !5
  %81 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %82 = load ptr, ptr %81, align 8, !tbaa !13
  %83 = getelementptr inbounds %"struct.doctest::detail::ContextState", ptr %82, i32 0, i32 6
  %84 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %83, i64 noundef 4) #3
  %85 = call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %79, ptr noundef %80, ptr noundef @.str.80, ptr noundef nonnull align 8 dereferenceable(24) %84)
  %86 = load i32, ptr %6, align 4, !tbaa !9
  %87 = load ptr, ptr %7, align 8, !tbaa !5
  %88 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %89 = load ptr, ptr %88, align 8, !tbaa !13
  %90 = getelementptr inbounds %"struct.doctest::detail::ContextState", ptr %89, i32 0, i32 6
  %91 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %90, i64 noundef 4) #3
  %92 = call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %86, ptr noundef %87, ptr noundef @.str.81, ptr noundef nonnull align 8 dereferenceable(24) %91)
  %93 = load i32, ptr %6, align 4, !tbaa !9
  %94 = load ptr, ptr %7, align 8, !tbaa !5
  %95 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %96 = load ptr, ptr %95, align 8, !tbaa !13
  %97 = getelementptr inbounds %"struct.doctest::detail::ContextState", ptr %96, i32 0, i32 6
  %98 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %97, i64 noundef 5) #3
  %99 = call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %93, ptr noundef %94, ptr noundef @.str.82, ptr noundef nonnull align 8 dereferenceable(24) %98)
  %100 = load i32, ptr %6, align 4, !tbaa !9
  %101 = load ptr, ptr %7, align 8, !tbaa !5
  %102 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %103 = load ptr, ptr %102, align 8, !tbaa !13
  %104 = getelementptr inbounds %"struct.doctest::detail::ContextState", ptr %103, i32 0, i32 6
  %105 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %104, i64 noundef 5) #3
  %106 = call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %100, ptr noundef %101, ptr noundef @.str.83, ptr noundef nonnull align 8 dereferenceable(24) %105)
  %107 = load i32, ptr %6, align 4, !tbaa !9
  %108 = load ptr, ptr %7, align 8, !tbaa !5
  %109 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %110 = load ptr, ptr %109, align 8, !tbaa !13
  %111 = getelementptr inbounds %"struct.doctest::detail::ContextState", ptr %110, i32 0, i32 6
  %112 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %111, i64 noundef 6) #3
  %113 = call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %107, ptr noundef %108, ptr noundef @.str.84, ptr noundef nonnull align 8 dereferenceable(24) %112)
  %114 = load i32, ptr %6, align 4, !tbaa !9
  %115 = load ptr, ptr %7, align 8, !tbaa !5
  %116 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %117 = load ptr, ptr %116, align 8, !tbaa !13
  %118 = getelementptr inbounds %"struct.doctest::detail::ContextState", ptr %117, i32 0, i32 6
  %119 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %118, i64 noundef 6) #3
  %120 = call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %114, ptr noundef %115, ptr noundef @.str.85, ptr noundef nonnull align 8 dereferenceable(24) %119)
  %121 = load i32, ptr %6, align 4, !tbaa !9
  %122 = load ptr, ptr %7, align 8, !tbaa !5
  %123 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %124 = load ptr, ptr %123, align 8, !tbaa !13
  %125 = getelementptr inbounds %"struct.doctest::detail::ContextState", ptr %124, i32 0, i32 6
  %126 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %125, i64 noundef 7) #3
  %127 = call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %121, ptr noundef %122, ptr noundef @.str.86, ptr noundef nonnull align 8 dereferenceable(24) %126)
  %128 = load i32, ptr %6, align 4, !tbaa !9
  %129 = load ptr, ptr %7, align 8, !tbaa !5
  %130 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %131 = load ptr, ptr %130, align 8, !tbaa !13
  %132 = getelementptr inbounds %"struct.doctest::detail::ContextState", ptr %131, i32 0, i32 6
  %133 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %132, i64 noundef 7) #3
  %134 = call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %128, ptr noundef %129, ptr noundef @.str.87, ptr noundef nonnull align 8 dereferenceable(24) %133)
  %135 = load i32, ptr %6, align 4, !tbaa !9
  %136 = load ptr, ptr %7, align 8, !tbaa !5
  %137 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %138 = load ptr, ptr %137, align 8, !tbaa !13
  %139 = getelementptr inbounds %"struct.doctest::detail::ContextState", ptr %138, i32 0, i32 6
  %140 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %139, i64 noundef 8) #3
  %141 = call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %135, ptr noundef %136, ptr noundef @.str.88, ptr noundef nonnull align 8 dereferenceable(24) %140)
  %142 = load i32, ptr %6, align 4, !tbaa !9
  %143 = load ptr, ptr %7, align 8, !tbaa !5
  %144 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %145 = load ptr, ptr %144, align 8, !tbaa !13
  %146 = getelementptr inbounds %"struct.doctest::detail::ContextState", ptr %145, i32 0, i32 6
  %147 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %146, i64 noundef 8) #3
  %148 = call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %142, ptr noundef %143, ptr noundef @.str.89, ptr noundef nonnull align 8 dereferenceable(24) %147)
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #3
  store i32 0, ptr %9, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr %10) #3
  call void @_ZN7doctest6StringC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #3
  %149 = load i32, ptr %6, align 4, !tbaa !9
  %150 = load ptr, ptr %7, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %11) #3
  store i1 false, ptr %15, align 1
  store i1 false, ptr %16, align 1
  invoke void @_ZN7doctest6StringC1EPKc(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef @.str)
          to label %151 unwind label %177

151:                                              ; preds = %4
  %152 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_111parseOptionEiPKPKcS2_PNS_6StringERKS5_(i32 noundef %149, ptr noundef %150, ptr noundef @.str.90, ptr noundef %10, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %153 unwind label %181

153:                                              ; preds = %151
  br i1 %152, label %163, label %154

154:                                              ; preds = %153
  %155 = load i32, ptr %6, align 4, !tbaa !9
  %156 = load ptr, ptr %7, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #3
  store i1 true, ptr %15, align 1
  invoke void @_ZN7doctest6StringC1EPKc(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef @.str)
          to label %157 unwind label %185

157:                                              ; preds = %154
  store i1 true, ptr %16, align 1
  %158 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_111parseOptionEiPKPKcS2_PNS_6StringERKS5_(i32 noundef %155, ptr noundef %156, ptr noundef @.str.91, ptr noundef %10, ptr noundef nonnull align 8 dereferenceable(24) %14)
          to label %159 unwind label %189

159:                                              ; preds = %157
  br i1 %158, label %163, label %160

160:                                              ; preds = %159
  %161 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %162 = trunc i8 %161 to i1
  br label %163

163:                                              ; preds = %160, %159, %153
  %164 = phi i1 [ true, %159 ], [ true, %153 ], [ %162, %160 ]
  %165 = load i1, ptr %16, align 1
  br i1 %165, label %166, label %167

166:                                              ; preds = %163
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #3
  br label %167

167:                                              ; preds = %166, %163
  %168 = load i1, ptr %15, align 1
  br i1 %168, label %169, label %170

169:                                              ; preds = %167
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #3
  br label %170

170:                                              ; preds = %169, %167
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #3
  br i1 %164, label %171, label %206

171:                                              ; preds = %170
  %172 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %173 = load ptr, ptr %172, align 8, !tbaa !13
  %174 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %173, i32 0, i32 3
  %175 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN7doctest6StringaSERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %174, ptr noundef nonnull align 8 dereferenceable(24) %10)
          to label %176 unwind label %202

176:                                              ; preds = %171
  br label %206

177:                                              ; preds = %4
  %178 = landingpad { ptr, i32 }
          cleanup
  %179 = extractvalue { ptr, i32 } %178, 0
  store ptr %179, ptr %12, align 8
  %180 = extractvalue { ptr, i32 } %178, 1
  store i32 %180, ptr %13, align 4
  br label %201

181:                                              ; preds = %151
  %182 = landingpad { ptr, i32 }
          cleanup
  %183 = extractvalue { ptr, i32 } %182, 0
  store ptr %183, ptr %12, align 8
  %184 = extractvalue { ptr, i32 } %182, 1
  store i32 %184, ptr %13, align 4
  br label %200

185:                                              ; preds = %154
  %186 = landingpad { ptr, i32 }
          cleanup
  %187 = extractvalue { ptr, i32 } %186, 0
  store ptr %187, ptr %12, align 8
  %188 = extractvalue { ptr, i32 } %186, 1
  store i32 %188, ptr %13, align 4
  br label %196

189:                                              ; preds = %157
  %190 = landingpad { ptr, i32 }
          cleanup
  %191 = extractvalue { ptr, i32 } %190, 0
  store ptr %191, ptr %12, align 8
  %192 = extractvalue { ptr, i32 } %190, 1
  store i32 %192, ptr %13, align 4
  %193 = load i1, ptr %16, align 1
  br i1 %193, label %194, label %195

194:                                              ; preds = %189
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #3
  br label %195

195:                                              ; preds = %194, %189
  br label %196

196:                                              ; preds = %195, %185
  %197 = load i1, ptr %15, align 1
  br i1 %197, label %198, label %199

198:                                              ; preds = %196
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #3
  br label %199

199:                                              ; preds = %198, %196
  br label %200

200:                                              ; preds = %199, %181
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #3
  br label %201

201:                                              ; preds = %200, %177
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #3
  br label %1345

202:                                              ; preds = %1332, %1327, %1315, %1310, %1298, %1293, %1281, %1276, %1264, %1259, %1247, %1242, %1237, %1197, %1192, %1180, %1175, %1157, %1152, %1140, %1135, %1117, %1112, %1100, %1095, %1077, %1072, %1060, %1055, %1037, %1032, %1020, %1015, %997, %992, %980, %975, %957, %952, %940, %935, %917, %912, %900, %895, %877, %872, %860, %855, %837, %832, %820, %815, %797, %792, %780, %775, %757, %752, %740, %735, %717, %712, %700, %695, %677, %672, %660, %655, %637, %632, %620, %615, %597, %592, %580, %575, %557, %552, %540, %535, %517, %512, %500, %495, %477, %472, %460, %455, %437, %432, %420, %415, %397, %392, %380, %375, %357, %352, %334, %329, %311, %306, %288, %283, %265, %260, %229, %171
  %203 = landingpad { ptr, i32 }
          cleanup
  %204 = extractvalue { ptr, i32 } %203, 0
  store ptr %204, ptr %12, align 8
  %205 = extractvalue { ptr, i32 } %203, 1
  store i32 %205, ptr %13, align 4
  br label %1345

206:                                              ; preds = %176, %170
  %207 = load i32, ptr %6, align 4, !tbaa !9
  %208 = load ptr, ptr %7, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #3
  store i1 false, ptr %19, align 1
  store i1 false, ptr %20, align 1
  invoke void @_ZN7doctest6StringC1EPKc(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef @.str.93)
          to label %209 unwind label %235

209:                                              ; preds = %206
  %210 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_111parseOptionEiPKPKcS2_PNS_6StringERKS5_(i32 noundef %207, ptr noundef %208, ptr noundef @.str.92, ptr noundef %10, ptr noundef nonnull align 8 dereferenceable(24) %17)
          to label %211 unwind label %239

211:                                              ; preds = %209
  br i1 %210, label %221, label %212

212:                                              ; preds = %211
  %213 = load i32, ptr %6, align 4, !tbaa !9
  %214 = load ptr, ptr %7, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %18) #3
  store i1 true, ptr %19, align 1
  invoke void @_ZN7doctest6StringC1EPKc(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef @.str.93)
          to label %215 unwind label %243

215:                                              ; preds = %212
  store i1 true, ptr %20, align 1
  %216 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_111parseOptionEiPKPKcS2_PNS_6StringERKS5_(i32 noundef %213, ptr noundef %214, ptr noundef @.str.94, ptr noundef %10, ptr noundef nonnull align 8 dereferenceable(24) %18)
          to label %217 unwind label %247

217:                                              ; preds = %215
  br i1 %216, label %221, label %218

218:                                              ; preds = %217
  %219 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %220 = trunc i8 %219 to i1
  br label %221

221:                                              ; preds = %218, %217, %211
  %222 = phi i1 [ true, %217 ], [ true, %211 ], [ %220, %218 ]
  %223 = load i1, ptr %20, align 1
  br i1 %223, label %224, label %225

224:                                              ; preds = %221
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #3
  br label %225

225:                                              ; preds = %224, %221
  %226 = load i1, ptr %19, align 1
  br i1 %226, label %227, label %228

227:                                              ; preds = %225
  call void @llvm.lifetime.end.p0(i64 24, ptr %18) #3
  br label %228

228:                                              ; preds = %227, %225
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #3
  br i1 %222, label %229, label %260

229:                                              ; preds = %228
  %230 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %231 = load ptr, ptr %230, align 8, !tbaa !13
  %232 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %231, i32 0, i32 4
  %233 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN7doctest6StringaSERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %232, ptr noundef nonnull align 8 dereferenceable(24) %10)
          to label %234 unwind label %202

234:                                              ; preds = %229
  br label %260

235:                                              ; preds = %206
  %236 = landingpad { ptr, i32 }
          cleanup
  %237 = extractvalue { ptr, i32 } %236, 0
  store ptr %237, ptr %12, align 8
  %238 = extractvalue { ptr, i32 } %236, 1
  store i32 %238, ptr %13, align 4
  br label %259

239:                                              ; preds = %209
  %240 = landingpad { ptr, i32 }
          cleanup
  %241 = extractvalue { ptr, i32 } %240, 0
  store ptr %241, ptr %12, align 8
  %242 = extractvalue { ptr, i32 } %240, 1
  store i32 %242, ptr %13, align 4
  br label %258

243:                                              ; preds = %212
  %244 = landingpad { ptr, i32 }
          cleanup
  %245 = extractvalue { ptr, i32 } %244, 0
  store ptr %245, ptr %12, align 8
  %246 = extractvalue { ptr, i32 } %244, 1
  store i32 %246, ptr %13, align 4
  br label %254

247:                                              ; preds = %215
  %248 = landingpad { ptr, i32 }
          cleanup
  %249 = extractvalue { ptr, i32 } %248, 0
  store ptr %249, ptr %12, align 8
  %250 = extractvalue { ptr, i32 } %248, 1
  store i32 %250, ptr %13, align 4
  %251 = load i1, ptr %20, align 1
  br i1 %251, label %252, label %253

252:                                              ; preds = %247
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #3
  br label %253

253:                                              ; preds = %252, %247
  br label %254

254:                                              ; preds = %253, %243
  %255 = load i1, ptr %19, align 1
  br i1 %255, label %256, label %257

256:                                              ; preds = %254
  call void @llvm.lifetime.end.p0(i64 24, ptr %18) #3
  br label %257

257:                                              ; preds = %256, %254
  br label %258

258:                                              ; preds = %257, %239
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #3
  br label %259

259:                                              ; preds = %258, %235
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #3
  br label %1345

260:                                              ; preds = %234, %228
  %261 = load i32, ptr %6, align 4, !tbaa !9
  %262 = load ptr, ptr %7, align 8, !tbaa !5
  %263 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %261, ptr noundef %262, ptr noundef @.str.95, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %264 unwind label %202

264:                                              ; preds = %260
  br i1 %263, label %270, label %265

265:                                              ; preds = %264
  %266 = load i32, ptr %6, align 4, !tbaa !9
  %267 = load ptr, ptr %7, align 8, !tbaa !5
  %268 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %266, ptr noundef %267, ptr noundef @.str.96, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %269 unwind label %202

269:                                              ; preds = %265
  br i1 %268, label %270, label %275

270:                                              ; preds = %269, %264
  %271 = load i32, ptr %9, align 4, !tbaa !9
  %272 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %273 = load ptr, ptr %272, align 8, !tbaa !13
  %274 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %273, i32 0, i32 5
  store i32 %271, ptr %274, align 8, !tbaa !17
  br label %283

275:                                              ; preds = %269
  %276 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %277 = trunc i8 %276 to i1
  br i1 %277, label %278, label %282

278:                                              ; preds = %275
  %279 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %280 = load ptr, ptr %279, align 8, !tbaa !13
  %281 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %280, i32 0, i32 5
  store i32 0, ptr %281, align 8, !tbaa !17
  br label %282

282:                                              ; preds = %278, %275
  br label %283

283:                                              ; preds = %282, %270
  %284 = load i32, ptr %6, align 4, !tbaa !9
  %285 = load ptr, ptr %7, align 8, !tbaa !5
  %286 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %284, ptr noundef %285, ptr noundef @.str.97, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %287 unwind label %202

287:                                              ; preds = %283
  br i1 %286, label %293, label %288

288:                                              ; preds = %287
  %289 = load i32, ptr %6, align 4, !tbaa !9
  %290 = load ptr, ptr %7, align 8, !tbaa !5
  %291 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %289, ptr noundef %290, ptr noundef @.str.98, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %292 unwind label %202

292:                                              ; preds = %288
  br i1 %291, label %293, label %298

293:                                              ; preds = %292, %287
  %294 = load i32, ptr %9, align 4, !tbaa !9
  %295 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %296 = load ptr, ptr %295, align 8, !tbaa !13
  %297 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %296, i32 0, i32 6
  store i32 %294, ptr %297, align 4, !tbaa !20
  br label %306

298:                                              ; preds = %292
  %299 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %300 = trunc i8 %299 to i1
  br i1 %300, label %301, label %305

301:                                              ; preds = %298
  %302 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %303 = load ptr, ptr %302, align 8, !tbaa !13
  %304 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %303, i32 0, i32 6
  store i32 0, ptr %304, align 4, !tbaa !20
  br label %305

305:                                              ; preds = %301, %298
  br label %306

306:                                              ; preds = %305, %293
  %307 = load i32, ptr %6, align 4, !tbaa !9
  %308 = load ptr, ptr %7, align 8, !tbaa !5
  %309 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %307, ptr noundef %308, ptr noundef @.str.99, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %310 unwind label %202

310:                                              ; preds = %306
  br i1 %309, label %316, label %311

311:                                              ; preds = %310
  %312 = load i32, ptr %6, align 4, !tbaa !9
  %313 = load ptr, ptr %7, align 8, !tbaa !5
  %314 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %312, ptr noundef %313, ptr noundef @.str.100, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %315 unwind label %202

315:                                              ; preds = %311
  br i1 %314, label %316, label %321

316:                                              ; preds = %315, %310
  %317 = load i32, ptr %9, align 4, !tbaa !9
  %318 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %319 = load ptr, ptr %318, align 8, !tbaa !13
  %320 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %319, i32 0, i32 7
  store i32 %317, ptr %320, align 8, !tbaa !21
  br label %329

321:                                              ; preds = %315
  %322 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %323 = trunc i8 %322 to i1
  br i1 %323, label %324, label %328

324:                                              ; preds = %321
  %325 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %326 = load ptr, ptr %325, align 8, !tbaa !13
  %327 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %326, i32 0, i32 7
  store i32 -1, ptr %327, align 8, !tbaa !21
  br label %328

328:                                              ; preds = %324, %321
  br label %329

329:                                              ; preds = %328, %316
  %330 = load i32, ptr %6, align 4, !tbaa !9
  %331 = load ptr, ptr %7, align 8, !tbaa !5
  %332 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %330, ptr noundef %331, ptr noundef @.str.101, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %333 unwind label %202

333:                                              ; preds = %329
  br i1 %332, label %339, label %334

334:                                              ; preds = %333
  %335 = load i32, ptr %6, align 4, !tbaa !9
  %336 = load ptr, ptr %7, align 8, !tbaa !5
  %337 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %335, ptr noundef %336, ptr noundef @.str.102, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %338 unwind label %202

338:                                              ; preds = %334
  br i1 %337, label %339, label %344

339:                                              ; preds = %338, %333
  %340 = load i32, ptr %9, align 4, !tbaa !9
  %341 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %342 = load ptr, ptr %341, align 8, !tbaa !13
  %343 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %342, i32 0, i32 8
  store i32 %340, ptr %343, align 4, !tbaa !22
  br label %352

344:                                              ; preds = %338
  %345 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %346 = trunc i8 %345 to i1
  br i1 %346, label %347, label %351

347:                                              ; preds = %344
  %348 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %349 = load ptr, ptr %348, align 8, !tbaa !13
  %350 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %349, i32 0, i32 8
  store i32 0, ptr %350, align 4, !tbaa !22
  br label %351

351:                                              ; preds = %347, %344
  br label %352

352:                                              ; preds = %351, %339
  %353 = load i32, ptr %6, align 4, !tbaa !9
  %354 = load ptr, ptr %7, align 8, !tbaa !5
  %355 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %353, ptr noundef %354, ptr noundef @.str.103, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %356 unwind label %202

356:                                              ; preds = %352
  br i1 %355, label %362, label %357

357:                                              ; preds = %356
  %358 = load i32, ptr %6, align 4, !tbaa !9
  %359 = load ptr, ptr %7, align 8, !tbaa !5
  %360 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %358, ptr noundef %359, ptr noundef @.str.104, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %361 unwind label %202

361:                                              ; preds = %357
  br i1 %360, label %362, label %367

362:                                              ; preds = %361, %356
  %363 = load i32, ptr %9, align 4, !tbaa !9
  %364 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %365 = load ptr, ptr %364, align 8, !tbaa !13
  %366 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %365, i32 0, i32 9
  store i32 %363, ptr %366, align 8, !tbaa !23
  br label %375

367:                                              ; preds = %361
  %368 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %369 = trunc i8 %368 to i1
  br i1 %369, label %370, label %374

370:                                              ; preds = %367
  %371 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %372 = load ptr, ptr %371, align 8, !tbaa !13
  %373 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %372, i32 0, i32 9
  store i32 2147483647, ptr %373, align 8, !tbaa !23
  br label %374

374:                                              ; preds = %370, %367
  br label %375

375:                                              ; preds = %374, %362
  %376 = load i32, ptr %6, align 4, !tbaa !9
  %377 = load ptr, ptr %7, align 8, !tbaa !5
  %378 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %376, ptr noundef %377, ptr noundef @.str.105, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %379 unwind label %202

379:                                              ; preds = %375
  br i1 %378, label %385, label %380

380:                                              ; preds = %379
  %381 = load i32, ptr %6, align 4, !tbaa !9
  %382 = load ptr, ptr %7, align 8, !tbaa !5
  %383 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %381, ptr noundef %382, ptr noundef @.str.106, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %384 unwind label %202

384:                                              ; preds = %380
  br i1 %383, label %385, label %392

385:                                              ; preds = %384, %379
  %386 = load i32, ptr %9, align 4, !tbaa !9
  %387 = icmp ne i32 %386, 0
  %388 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %389 = load ptr, ptr %388, align 8, !tbaa !13
  %390 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %389, i32 0, i32 10
  %391 = zext i1 %387 to i8
  store i8 %391, ptr %390, align 4, !tbaa !24
  br label %415

392:                                              ; preds = %384
  %393 = load i32, ptr %6, align 4, !tbaa !9
  %394 = load ptr, ptr %7, align 8, !tbaa !5
  %395 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %393, ptr noundef %394, ptr noundef @.str.107)
          to label %396 unwind label %202

396:                                              ; preds = %392
  br i1 %395, label %402, label %397

397:                                              ; preds = %396
  %398 = load i32, ptr %6, align 4, !tbaa !9
  %399 = load ptr, ptr %7, align 8, !tbaa !5
  %400 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %398, ptr noundef %399, ptr noundef @.str.108)
          to label %401 unwind label %202

401:                                              ; preds = %397
  br i1 %400, label %402, label %406

402:                                              ; preds = %401, %396
  %403 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %404 = load ptr, ptr %403, align 8, !tbaa !13
  %405 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %404, i32 0, i32 10
  store i8 1, ptr %405, align 4, !tbaa !24
  br label %414

406:                                              ; preds = %401
  %407 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %408 = trunc i8 %407 to i1
  br i1 %408, label %409, label %413

409:                                              ; preds = %406
  %410 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %411 = load ptr, ptr %410, align 8, !tbaa !13
  %412 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %411, i32 0, i32 10
  store i8 0, ptr %412, align 4, !tbaa !24
  br label %413

413:                                              ; preds = %409, %406
  br label %414

414:                                              ; preds = %413, %402
  br label %415

415:                                              ; preds = %414, %385
  %416 = load i32, ptr %6, align 4, !tbaa !9
  %417 = load ptr, ptr %7, align 8, !tbaa !5
  %418 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %416, ptr noundef %417, ptr noundef @.str.109, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %419 unwind label %202

419:                                              ; preds = %415
  br i1 %418, label %425, label %420

420:                                              ; preds = %419
  %421 = load i32, ptr %6, align 4, !tbaa !9
  %422 = load ptr, ptr %7, align 8, !tbaa !5
  %423 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %421, ptr noundef %422, ptr noundef @.str.110, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %424 unwind label %202

424:                                              ; preds = %420
  br i1 %423, label %425, label %432

425:                                              ; preds = %424, %419
  %426 = load i32, ptr %9, align 4, !tbaa !9
  %427 = icmp ne i32 %426, 0
  %428 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %429 = load ptr, ptr %428, align 8, !tbaa !13
  %430 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %429, i32 0, i32 11
  %431 = zext i1 %427 to i8
  store i8 %431, ptr %430, align 1, !tbaa !25
  br label %455

432:                                              ; preds = %424
  %433 = load i32, ptr %6, align 4, !tbaa !9
  %434 = load ptr, ptr %7, align 8, !tbaa !5
  %435 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %433, ptr noundef %434, ptr noundef @.str.111)
          to label %436 unwind label %202

436:                                              ; preds = %432
  br i1 %435, label %442, label %437

437:                                              ; preds = %436
  %438 = load i32, ptr %6, align 4, !tbaa !9
  %439 = load ptr, ptr %7, align 8, !tbaa !5
  %440 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %438, ptr noundef %439, ptr noundef @.str.112)
          to label %441 unwind label %202

441:                                              ; preds = %437
  br i1 %440, label %442, label %446

442:                                              ; preds = %441, %436
  %443 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %444 = load ptr, ptr %443, align 8, !tbaa !13
  %445 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %444, i32 0, i32 11
  store i8 1, ptr %445, align 1, !tbaa !25
  br label %454

446:                                              ; preds = %441
  %447 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %448 = trunc i8 %447 to i1
  br i1 %448, label %449, label %453

449:                                              ; preds = %446
  %450 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %451 = load ptr, ptr %450, align 8, !tbaa !13
  %452 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %451, i32 0, i32 11
  store i8 0, ptr %452, align 1, !tbaa !25
  br label %453

453:                                              ; preds = %449, %446
  br label %454

454:                                              ; preds = %453, %442
  br label %455

455:                                              ; preds = %454, %425
  %456 = load i32, ptr %6, align 4, !tbaa !9
  %457 = load ptr, ptr %7, align 8, !tbaa !5
  %458 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %456, ptr noundef %457, ptr noundef @.str.113, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %459 unwind label %202

459:                                              ; preds = %455
  br i1 %458, label %465, label %460

460:                                              ; preds = %459
  %461 = load i32, ptr %6, align 4, !tbaa !9
  %462 = load ptr, ptr %7, align 8, !tbaa !5
  %463 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %461, ptr noundef %462, ptr noundef @.str.114, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %464 unwind label %202

464:                                              ; preds = %460
  br i1 %463, label %465, label %472

465:                                              ; preds = %464, %459
  %466 = load i32, ptr %9, align 4, !tbaa !9
  %467 = icmp ne i32 %466, 0
  %468 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %469 = load ptr, ptr %468, align 8, !tbaa !13
  %470 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %469, i32 0, i32 12
  %471 = zext i1 %467 to i8
  store i8 %471, ptr %470, align 2, !tbaa !26
  br label %495

472:                                              ; preds = %464
  %473 = load i32, ptr %6, align 4, !tbaa !9
  %474 = load ptr, ptr %7, align 8, !tbaa !5
  %475 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %473, ptr noundef %474, ptr noundef @.str.115)
          to label %476 unwind label %202

476:                                              ; preds = %472
  br i1 %475, label %482, label %477

477:                                              ; preds = %476
  %478 = load i32, ptr %6, align 4, !tbaa !9
  %479 = load ptr, ptr %7, align 8, !tbaa !5
  %480 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %478, ptr noundef %479, ptr noundef @.str.116)
          to label %481 unwind label %202

481:                                              ; preds = %477
  br i1 %480, label %482, label %486

482:                                              ; preds = %481, %476
  %483 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %484 = load ptr, ptr %483, align 8, !tbaa !13
  %485 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %484, i32 0, i32 12
  store i8 1, ptr %485, align 2, !tbaa !26
  br label %494

486:                                              ; preds = %481
  %487 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %488 = trunc i8 %487 to i1
  br i1 %488, label %489, label %493

489:                                              ; preds = %486
  %490 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %491 = load ptr, ptr %490, align 8, !tbaa !13
  %492 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %491, i32 0, i32 12
  store i8 0, ptr %492, align 2, !tbaa !26
  br label %493

493:                                              ; preds = %489, %486
  br label %494

494:                                              ; preds = %493, %482
  br label %495

495:                                              ; preds = %494, %465
  %496 = load i32, ptr %6, align 4, !tbaa !9
  %497 = load ptr, ptr %7, align 8, !tbaa !5
  %498 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %496, ptr noundef %497, ptr noundef @.str.117, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %499 unwind label %202

499:                                              ; preds = %495
  br i1 %498, label %505, label %500

500:                                              ; preds = %499
  %501 = load i32, ptr %6, align 4, !tbaa !9
  %502 = load ptr, ptr %7, align 8, !tbaa !5
  %503 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %501, ptr noundef %502, ptr noundef @.str.118, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %504 unwind label %202

504:                                              ; preds = %500
  br i1 %503, label %505, label %512

505:                                              ; preds = %504, %499
  %506 = load i32, ptr %9, align 4, !tbaa !9
  %507 = icmp ne i32 %506, 0
  %508 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %509 = load ptr, ptr %508, align 8, !tbaa !13
  %510 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %509, i32 0, i32 13
  %511 = zext i1 %507 to i8
  store i8 %511, ptr %510, align 1, !tbaa !27
  br label %535

512:                                              ; preds = %504
  %513 = load i32, ptr %6, align 4, !tbaa !9
  %514 = load ptr, ptr %7, align 8, !tbaa !5
  %515 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %513, ptr noundef %514, ptr noundef @.str.119)
          to label %516 unwind label %202

516:                                              ; preds = %512
  br i1 %515, label %522, label %517

517:                                              ; preds = %516
  %518 = load i32, ptr %6, align 4, !tbaa !9
  %519 = load ptr, ptr %7, align 8, !tbaa !5
  %520 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %518, ptr noundef %519, ptr noundef @.str.120)
          to label %521 unwind label %202

521:                                              ; preds = %517
  br i1 %520, label %522, label %526

522:                                              ; preds = %521, %516
  %523 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %524 = load ptr, ptr %523, align 8, !tbaa !13
  %525 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %524, i32 0, i32 13
  store i8 1, ptr %525, align 1, !tbaa !27
  br label %534

526:                                              ; preds = %521
  %527 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %528 = trunc i8 %527 to i1
  br i1 %528, label %529, label %533

529:                                              ; preds = %526
  %530 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %531 = load ptr, ptr %530, align 8, !tbaa !13
  %532 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %531, i32 0, i32 13
  store i8 0, ptr %532, align 1, !tbaa !27
  br label %533

533:                                              ; preds = %529, %526
  br label %534

534:                                              ; preds = %533, %522
  br label %535

535:                                              ; preds = %534, %505
  %536 = load i32, ptr %6, align 4, !tbaa !9
  %537 = load ptr, ptr %7, align 8, !tbaa !5
  %538 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %536, ptr noundef %537, ptr noundef @.str.121, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %539 unwind label %202

539:                                              ; preds = %535
  br i1 %538, label %545, label %540

540:                                              ; preds = %539
  %541 = load i32, ptr %6, align 4, !tbaa !9
  %542 = load ptr, ptr %7, align 8, !tbaa !5
  %543 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %541, ptr noundef %542, ptr noundef @.str.122, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %544 unwind label %202

544:                                              ; preds = %540
  br i1 %543, label %545, label %552

545:                                              ; preds = %544, %539
  %546 = load i32, ptr %9, align 4, !tbaa !9
  %547 = icmp ne i32 %546, 0
  %548 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %549 = load ptr, ptr %548, align 8, !tbaa !13
  %550 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %549, i32 0, i32 14
  %551 = zext i1 %547 to i8
  store i8 %551, ptr %550, align 8, !tbaa !28
  br label %575

552:                                              ; preds = %544
  %553 = load i32, ptr %6, align 4, !tbaa !9
  %554 = load ptr, ptr %7, align 8, !tbaa !5
  %555 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %553, ptr noundef %554, ptr noundef @.str.123)
          to label %556 unwind label %202

556:                                              ; preds = %552
  br i1 %555, label %562, label %557

557:                                              ; preds = %556
  %558 = load i32, ptr %6, align 4, !tbaa !9
  %559 = load ptr, ptr %7, align 8, !tbaa !5
  %560 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %558, ptr noundef %559, ptr noundef @.str.124)
          to label %561 unwind label %202

561:                                              ; preds = %557
  br i1 %560, label %562, label %566

562:                                              ; preds = %561, %556
  %563 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %564 = load ptr, ptr %563, align 8, !tbaa !13
  %565 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %564, i32 0, i32 14
  store i8 1, ptr %565, align 8, !tbaa !28
  br label %574

566:                                              ; preds = %561
  %567 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %568 = trunc i8 %567 to i1
  br i1 %568, label %569, label %573

569:                                              ; preds = %566
  %570 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %571 = load ptr, ptr %570, align 8, !tbaa !13
  %572 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %571, i32 0, i32 14
  store i8 0, ptr %572, align 8, !tbaa !28
  br label %573

573:                                              ; preds = %569, %566
  br label %574

574:                                              ; preds = %573, %562
  br label %575

575:                                              ; preds = %574, %545
  %576 = load i32, ptr %6, align 4, !tbaa !9
  %577 = load ptr, ptr %7, align 8, !tbaa !5
  %578 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %576, ptr noundef %577, ptr noundef @.str.125, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %579 unwind label %202

579:                                              ; preds = %575
  br i1 %578, label %585, label %580

580:                                              ; preds = %579
  %581 = load i32, ptr %6, align 4, !tbaa !9
  %582 = load ptr, ptr %7, align 8, !tbaa !5
  %583 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %581, ptr noundef %582, ptr noundef @.str.126, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %584 unwind label %202

584:                                              ; preds = %580
  br i1 %583, label %585, label %592

585:                                              ; preds = %584, %579
  %586 = load i32, ptr %9, align 4, !tbaa !9
  %587 = icmp ne i32 %586, 0
  %588 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %589 = load ptr, ptr %588, align 8, !tbaa !13
  %590 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %589, i32 0, i32 15
  %591 = zext i1 %587 to i8
  store i8 %591, ptr %590, align 1, !tbaa !29
  br label %615

592:                                              ; preds = %584
  %593 = load i32, ptr %6, align 4, !tbaa !9
  %594 = load ptr, ptr %7, align 8, !tbaa !5
  %595 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %593, ptr noundef %594, ptr noundef @.str.127)
          to label %596 unwind label %202

596:                                              ; preds = %592
  br i1 %595, label %602, label %597

597:                                              ; preds = %596
  %598 = load i32, ptr %6, align 4, !tbaa !9
  %599 = load ptr, ptr %7, align 8, !tbaa !5
  %600 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %598, ptr noundef %599, ptr noundef @.str.128)
          to label %601 unwind label %202

601:                                              ; preds = %597
  br i1 %600, label %602, label %606

602:                                              ; preds = %601, %596
  %603 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %604 = load ptr, ptr %603, align 8, !tbaa !13
  %605 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %604, i32 0, i32 15
  store i8 1, ptr %605, align 1, !tbaa !29
  br label %614

606:                                              ; preds = %601
  %607 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %608 = trunc i8 %607 to i1
  br i1 %608, label %609, label %613

609:                                              ; preds = %606
  %610 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %611 = load ptr, ptr %610, align 8, !tbaa !13
  %612 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %611, i32 0, i32 15
  store i8 0, ptr %612, align 1, !tbaa !29
  br label %613

613:                                              ; preds = %609, %606
  br label %614

614:                                              ; preds = %613, %602
  br label %615

615:                                              ; preds = %614, %585
  %616 = load i32, ptr %6, align 4, !tbaa !9
  %617 = load ptr, ptr %7, align 8, !tbaa !5
  %618 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %616, ptr noundef %617, ptr noundef @.str.129, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %619 unwind label %202

619:                                              ; preds = %615
  br i1 %618, label %625, label %620

620:                                              ; preds = %619
  %621 = load i32, ptr %6, align 4, !tbaa !9
  %622 = load ptr, ptr %7, align 8, !tbaa !5
  %623 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %621, ptr noundef %622, ptr noundef @.str.130, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %624 unwind label %202

624:                                              ; preds = %620
  br i1 %623, label %625, label %632

625:                                              ; preds = %624, %619
  %626 = load i32, ptr %9, align 4, !tbaa !9
  %627 = icmp ne i32 %626, 0
  %628 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %629 = load ptr, ptr %628, align 8, !tbaa !13
  %630 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %629, i32 0, i32 16
  %631 = zext i1 %627 to i8
  store i8 %631, ptr %630, align 2, !tbaa !30
  br label %655

632:                                              ; preds = %624
  %633 = load i32, ptr %6, align 4, !tbaa !9
  %634 = load ptr, ptr %7, align 8, !tbaa !5
  %635 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %633, ptr noundef %634, ptr noundef @.str.131)
          to label %636 unwind label %202

636:                                              ; preds = %632
  br i1 %635, label %642, label %637

637:                                              ; preds = %636
  %638 = load i32, ptr %6, align 4, !tbaa !9
  %639 = load ptr, ptr %7, align 8, !tbaa !5
  %640 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %638, ptr noundef %639, ptr noundef @.str.132)
          to label %641 unwind label %202

641:                                              ; preds = %637
  br i1 %640, label %642, label %646

642:                                              ; preds = %641, %636
  %643 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %644 = load ptr, ptr %643, align 8, !tbaa !13
  %645 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %644, i32 0, i32 16
  store i8 1, ptr %645, align 2, !tbaa !30
  br label %654

646:                                              ; preds = %641
  %647 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %648 = trunc i8 %647 to i1
  br i1 %648, label %649, label %653

649:                                              ; preds = %646
  %650 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %651 = load ptr, ptr %650, align 8, !tbaa !13
  %652 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %651, i32 0, i32 16
  store i8 0, ptr %652, align 2, !tbaa !30
  br label %653

653:                                              ; preds = %649, %646
  br label %654

654:                                              ; preds = %653, %642
  br label %655

655:                                              ; preds = %654, %625
  %656 = load i32, ptr %6, align 4, !tbaa !9
  %657 = load ptr, ptr %7, align 8, !tbaa !5
  %658 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %656, ptr noundef %657, ptr noundef @.str.133, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %659 unwind label %202

659:                                              ; preds = %655
  br i1 %658, label %665, label %660

660:                                              ; preds = %659
  %661 = load i32, ptr %6, align 4, !tbaa !9
  %662 = load ptr, ptr %7, align 8, !tbaa !5
  %663 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %661, ptr noundef %662, ptr noundef @.str.134, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %664 unwind label %202

664:                                              ; preds = %660
  br i1 %663, label %665, label %672

665:                                              ; preds = %664, %659
  %666 = load i32, ptr %9, align 4, !tbaa !9
  %667 = icmp ne i32 %666, 0
  %668 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %669 = load ptr, ptr %668, align 8, !tbaa !13
  %670 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %669, i32 0, i32 17
  %671 = zext i1 %667 to i8
  store i8 %671, ptr %670, align 1, !tbaa !31
  br label %695

672:                                              ; preds = %664
  %673 = load i32, ptr %6, align 4, !tbaa !9
  %674 = load ptr, ptr %7, align 8, !tbaa !5
  %675 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %673, ptr noundef %674, ptr noundef @.str.135)
          to label %676 unwind label %202

676:                                              ; preds = %672
  br i1 %675, label %682, label %677

677:                                              ; preds = %676
  %678 = load i32, ptr %6, align 4, !tbaa !9
  %679 = load ptr, ptr %7, align 8, !tbaa !5
  %680 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %678, ptr noundef %679, ptr noundef @.str.136)
          to label %681 unwind label %202

681:                                              ; preds = %677
  br i1 %680, label %682, label %686

682:                                              ; preds = %681, %676
  %683 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %684 = load ptr, ptr %683, align 8, !tbaa !13
  %685 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %684, i32 0, i32 17
  store i8 1, ptr %685, align 1, !tbaa !31
  br label %694

686:                                              ; preds = %681
  %687 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %688 = trunc i8 %687 to i1
  br i1 %688, label %689, label %693

689:                                              ; preds = %686
  %690 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %691 = load ptr, ptr %690, align 8, !tbaa !13
  %692 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %691, i32 0, i32 17
  store i8 0, ptr %692, align 1, !tbaa !31
  br label %693

693:                                              ; preds = %689, %686
  br label %694

694:                                              ; preds = %693, %682
  br label %695

695:                                              ; preds = %694, %665
  %696 = load i32, ptr %6, align 4, !tbaa !9
  %697 = load ptr, ptr %7, align 8, !tbaa !5
  %698 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %696, ptr noundef %697, ptr noundef @.str.137, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %699 unwind label %202

699:                                              ; preds = %695
  br i1 %698, label %705, label %700

700:                                              ; preds = %699
  %701 = load i32, ptr %6, align 4, !tbaa !9
  %702 = load ptr, ptr %7, align 8, !tbaa !5
  %703 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %701, ptr noundef %702, ptr noundef @.str.138, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %704 unwind label %202

704:                                              ; preds = %700
  br i1 %703, label %705, label %712

705:                                              ; preds = %704, %699
  %706 = load i32, ptr %9, align 4, !tbaa !9
  %707 = icmp ne i32 %706, 0
  %708 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %709 = load ptr, ptr %708, align 8, !tbaa !13
  %710 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %709, i32 0, i32 18
  %711 = zext i1 %707 to i8
  store i8 %711, ptr %710, align 4, !tbaa !32
  br label %735

712:                                              ; preds = %704
  %713 = load i32, ptr %6, align 4, !tbaa !9
  %714 = load ptr, ptr %7, align 8, !tbaa !5
  %715 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %713, ptr noundef %714, ptr noundef @.str.139)
          to label %716 unwind label %202

716:                                              ; preds = %712
  br i1 %715, label %722, label %717

717:                                              ; preds = %716
  %718 = load i32, ptr %6, align 4, !tbaa !9
  %719 = load ptr, ptr %7, align 8, !tbaa !5
  %720 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %718, ptr noundef %719, ptr noundef @.str.140)
          to label %721 unwind label %202

721:                                              ; preds = %717
  br i1 %720, label %722, label %726

722:                                              ; preds = %721, %716
  %723 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %724 = load ptr, ptr %723, align 8, !tbaa !13
  %725 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %724, i32 0, i32 18
  store i8 1, ptr %725, align 4, !tbaa !32
  br label %734

726:                                              ; preds = %721
  %727 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %728 = trunc i8 %727 to i1
  br i1 %728, label %729, label %733

729:                                              ; preds = %726
  %730 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %731 = load ptr, ptr %730, align 8, !tbaa !13
  %732 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %731, i32 0, i32 18
  store i8 0, ptr %732, align 4, !tbaa !32
  br label %733

733:                                              ; preds = %729, %726
  br label %734

734:                                              ; preds = %733, %722
  br label %735

735:                                              ; preds = %734, %705
  %736 = load i32, ptr %6, align 4, !tbaa !9
  %737 = load ptr, ptr %7, align 8, !tbaa !5
  %738 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %736, ptr noundef %737, ptr noundef @.str.141, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %739 unwind label %202

739:                                              ; preds = %735
  br i1 %738, label %745, label %740

740:                                              ; preds = %739
  %741 = load i32, ptr %6, align 4, !tbaa !9
  %742 = load ptr, ptr %7, align 8, !tbaa !5
  %743 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %741, ptr noundef %742, ptr noundef @.str.142, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %744 unwind label %202

744:                                              ; preds = %740
  br i1 %743, label %745, label %752

745:                                              ; preds = %744, %739
  %746 = load i32, ptr %9, align 4, !tbaa !9
  %747 = icmp ne i32 %746, 0
  %748 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %749 = load ptr, ptr %748, align 8, !tbaa !13
  %750 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %749, i32 0, i32 19
  %751 = zext i1 %747 to i8
  store i8 %751, ptr %750, align 1, !tbaa !33
  br label %775

752:                                              ; preds = %744
  %753 = load i32, ptr %6, align 4, !tbaa !9
  %754 = load ptr, ptr %7, align 8, !tbaa !5
  %755 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %753, ptr noundef %754, ptr noundef @.str.143)
          to label %756 unwind label %202

756:                                              ; preds = %752
  br i1 %755, label %762, label %757

757:                                              ; preds = %756
  %758 = load i32, ptr %6, align 4, !tbaa !9
  %759 = load ptr, ptr %7, align 8, !tbaa !5
  %760 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %758, ptr noundef %759, ptr noundef @.str.144)
          to label %761 unwind label %202

761:                                              ; preds = %757
  br i1 %760, label %762, label %766

762:                                              ; preds = %761, %756
  %763 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %764 = load ptr, ptr %763, align 8, !tbaa !13
  %765 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %764, i32 0, i32 19
  store i8 1, ptr %765, align 1, !tbaa !33
  br label %774

766:                                              ; preds = %761
  %767 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %768 = trunc i8 %767 to i1
  br i1 %768, label %769, label %773

769:                                              ; preds = %766
  %770 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %771 = load ptr, ptr %770, align 8, !tbaa !13
  %772 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %771, i32 0, i32 19
  store i8 0, ptr %772, align 1, !tbaa !33
  br label %773

773:                                              ; preds = %769, %766
  br label %774

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

775:                                              ; preds = %774, %745
  %776 = load i32, ptr %6, align 4, !tbaa !9
  %777 = load ptr, ptr %7, align 8, !tbaa !5
  %778 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %776, ptr noundef %777, ptr noundef @.str.145, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %779 unwind label %202

779:                                              ; preds = %775
  br i1 %778, label %785, label %780

780:                                              ; preds = %779
  %781 = load i32, ptr %6, align 4, !tbaa !9
  %782 = load ptr, ptr %7, align 8, !tbaa !5
  %783 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %781, ptr noundef %782, ptr noundef @.str.146, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %784 unwind label %202

784:                                              ; preds = %780
  br i1 %783, label %785, label %792

785:                                              ; preds = %784, %779
  %786 = load i32, ptr %9, align 4, !tbaa !9
  %787 = icmp ne i32 %786, 0
  %788 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %789 = load ptr, ptr %788, align 8, !tbaa !13
  %790 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %789, i32 0, i32 20
  %791 = zext i1 %787 to i8
  store i8 %791, ptr %790, align 2, !tbaa !34
  br label %815

792:                                              ; preds = %784
  %793 = load i32, ptr %6, align 4, !tbaa !9
  %794 = load ptr, ptr %7, align 8, !tbaa !5
  %795 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %793, ptr noundef %794, ptr noundef @.str.147)
          to label %796 unwind label %202

796:                                              ; preds = %792
  br i1 %795, label %802, label %797

797:                                              ; preds = %796
  %798 = load i32, ptr %6, align 4, !tbaa !9
  %799 = load ptr, ptr %7, align 8, !tbaa !5
  %800 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %798, ptr noundef %799, ptr noundef @.str.148)
          to label %801 unwind label %202

801:                                              ; preds = %797
  br i1 %800, label %802, label %806

802:                                              ; preds = %801, %796
  %803 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %804 = load ptr, ptr %803, align 8, !tbaa !13
  %805 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %804, i32 0, i32 20
  store i8 1, ptr %805, align 2, !tbaa !34
  br label %814

806:                                              ; preds = %801
  %807 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %808 = trunc i8 %807 to i1
  br i1 %808, label %809, label %813

809:                                              ; preds = %806
  %810 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %811 = load ptr, ptr %810, align 8, !tbaa !13
  %812 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %811, i32 0, i32 20
  store i8 0, ptr %812, align 2, !tbaa !34
  br label %813

813:                                              ; preds = %809, %806
  br label %814

814:                                              ; preds = %813, %802
  br label %815

815:                                              ; preds = %814, %785
  %816 = load i32, ptr %6, align 4, !tbaa !9
  %817 = load ptr, ptr %7, align 8, !tbaa !5
  %818 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %816, ptr noundef %817, ptr noundef @.str.149, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %819 unwind label %202

819:                                              ; preds = %815
  br i1 %818, label %825, label %820

820:                                              ; preds = %819
  %821 = load i32, ptr %6, align 4, !tbaa !9
  %822 = load ptr, ptr %7, align 8, !tbaa !5
  %823 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %821, ptr noundef %822, ptr noundef @.str.150, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %824 unwind label %202

824:                                              ; preds = %820
  br i1 %823, label %825, label %832

825:                                              ; preds = %824, %819
  %826 = load i32, ptr %9, align 4, !tbaa !9
  %827 = icmp ne i32 %826, 0
  %828 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %829 = load ptr, ptr %828, align 8, !tbaa !13
  %830 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %829, i32 0, i32 21
  %831 = zext i1 %827 to i8
  store i8 %831, ptr %830, align 1, !tbaa !35
  br label %855

832:                                              ; preds = %824
  %833 = load i32, ptr %6, align 4, !tbaa !9
  %834 = load ptr, ptr %7, align 8, !tbaa !5
  %835 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %833, ptr noundef %834, ptr noundef @.str.151)
          to label %836 unwind label %202

836:                                              ; preds = %832
  br i1 %835, label %842, label %837

837:                                              ; preds = %836
  %838 = load i32, ptr %6, align 4, !tbaa !9
  %839 = load ptr, ptr %7, align 8, !tbaa !5
  %840 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %838, ptr noundef %839, ptr noundef @.str.152)
          to label %841 unwind label %202

841:                                              ; preds = %837
  br i1 %840, label %842, label %846

842:                                              ; preds = %841, %836
  %843 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %844 = load ptr, ptr %843, align 8, !tbaa !13
  %845 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %844, i32 0, i32 21
  store i8 1, ptr %845, align 1, !tbaa !35
  br label %854

846:                                              ; preds = %841
  %847 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %848 = trunc i8 %847 to i1
  br i1 %848, label %849, label %853

849:                                              ; preds = %846
  %850 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %851 = load ptr, ptr %850, align 8, !tbaa !13
  %852 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %851, i32 0, i32 21
  store i8 0, ptr %852, align 1, !tbaa !35
  br label %853

853:                                              ; preds = %849, %846
  br label %854

854:                                              ; preds = %853, %842
  br label %855

855:                                              ; preds = %854, %825
  %856 = load i32, ptr %6, align 4, !tbaa !9
  %857 = load ptr, ptr %7, align 8, !tbaa !5
  %858 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %856, ptr noundef %857, ptr noundef @.str.153, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %859 unwind label %202

859:                                              ; preds = %855
  br i1 %858, label %865, label %860

860:                                              ; preds = %859
  %861 = load i32, ptr %6, align 4, !tbaa !9
  %862 = load ptr, ptr %7, align 8, !tbaa !5
  %863 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %861, ptr noundef %862, ptr noundef @.str.154, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %864 unwind label %202

864:                                              ; preds = %860
  br i1 %863, label %865, label %872

865:                                              ; preds = %864, %859
  %866 = load i32, ptr %9, align 4, !tbaa !9
  %867 = icmp ne i32 %866, 0
  %868 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %869 = load ptr, ptr %868, align 8, !tbaa !13
  %870 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %869, i32 0, i32 22
  %871 = zext i1 %867 to i8
  store i8 %871, ptr %870, align 8, !tbaa !36
  br label %895

872:                                              ; preds = %864
  %873 = load i32, ptr %6, align 4, !tbaa !9
  %874 = load ptr, ptr %7, align 8, !tbaa !5
  %875 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %873, ptr noundef %874, ptr noundef @.str.155)
          to label %876 unwind label %202

876:                                              ; preds = %872
  br i1 %875, label %882, label %877

877:                                              ; preds = %876
  %878 = load i32, ptr %6, align 4, !tbaa !9
  %879 = load ptr, ptr %7, align 8, !tbaa !5
  %880 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %878, ptr noundef %879, ptr noundef @.str.156)
          to label %881 unwind label %202

881:                                              ; preds = %877
  br i1 %880, label %882, label %886

882:                                              ; preds = %881, %876
  %883 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %884 = load ptr, ptr %883, align 8, !tbaa !13
  %885 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %884, i32 0, i32 22
  store i8 1, ptr %885, align 8, !tbaa !36
  br label %894

886:                                              ; preds = %881
  %887 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %888 = trunc i8 %887 to i1
  br i1 %888, label %889, label %893

889:                                              ; preds = %886
  %890 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %891 = load ptr, ptr %890, align 8, !tbaa !13
  %892 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %891, i32 0, i32 22
  store i8 0, ptr %892, align 8, !tbaa !36
  br label %893

893:                                              ; preds = %889, %886
  br label %894

894:                                              ; preds = %893, %882
  br label %895

895:                                              ; preds = %894, %865
  %896 = load i32, ptr %6, align 4, !tbaa !9
  %897 = load ptr, ptr %7, align 8, !tbaa !5
  %898 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %896, ptr noundef %897, ptr noundef @.str.157, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %899 unwind label %202

899:                                              ; preds = %895
  br i1 %898, label %905, label %900

900:                                              ; preds = %899
  %901 = load i32, ptr %6, align 4, !tbaa !9
  %902 = load ptr, ptr %7, align 8, !tbaa !5
  %903 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %901, ptr noundef %902, ptr noundef @.str.158, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %904 unwind label %202

904:                                              ; preds = %900
  br i1 %903, label %905, label %912

905:                                              ; preds = %904, %899
  %906 = load i32, ptr %9, align 4, !tbaa !9
  %907 = icmp ne i32 %906, 0
  %908 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %909 = load ptr, ptr %908, align 8, !tbaa !13
  %910 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %909, i32 0, i32 23
  %911 = zext i1 %907 to i8
  store i8 %911, ptr %910, align 1, !tbaa !37
  br label %935

912:                                              ; preds = %904
  %913 = load i32, ptr %6, align 4, !tbaa !9
  %914 = load ptr, ptr %7, align 8, !tbaa !5
  %915 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %913, ptr noundef %914, ptr noundef @.str.159)
          to label %916 unwind label %202

916:                                              ; preds = %912
  br i1 %915, label %922, label %917

917:                                              ; preds = %916
  %918 = load i32, ptr %6, align 4, !tbaa !9
  %919 = load ptr, ptr %7, align 8, !tbaa !5
  %920 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %918, ptr noundef %919, ptr noundef @.str.160)
          to label %921 unwind label %202

921:                                              ; preds = %917
  br i1 %920, label %922, label %926

922:                                              ; preds = %921, %916
  %923 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %924 = load ptr, ptr %923, align 8, !tbaa !13
  %925 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %924, i32 0, i32 23
  store i8 1, ptr %925, align 1, !tbaa !37
  br label %934

926:                                              ; preds = %921
  %927 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %928 = trunc i8 %927 to i1
  br i1 %928, label %929, label %933

929:                                              ; preds = %926
  %930 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %931 = load ptr, ptr %930, align 8, !tbaa !13
  %932 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %931, i32 0, i32 23
  store i8 0, ptr %932, align 1, !tbaa !37
  br label %933

933:                                              ; preds = %929, %926
  br label %934

934:                                              ; preds = %933, %922
  br label %935

935:                                              ; preds = %934, %905
  %936 = load i32, ptr %6, align 4, !tbaa !9
  %937 = load ptr, ptr %7, align 8, !tbaa !5
  %938 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %936, ptr noundef %937, ptr noundef @.str.161, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %939 unwind label %202

939:                                              ; preds = %935
  br i1 %938, label %945, label %940

940:                                              ; preds = %939
  %941 = load i32, ptr %6, align 4, !tbaa !9
  %942 = load ptr, ptr %7, align 8, !tbaa !5
  %943 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %941, ptr noundef %942, ptr noundef @.str.162, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %944 unwind label %202

944:                                              ; preds = %940
  br i1 %943, label %945, label %952

945:                                              ; preds = %944, %939
  %946 = load i32, ptr %9, align 4, !tbaa !9
  %947 = icmp ne i32 %946, 0
  %948 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %949 = load ptr, ptr %948, align 8, !tbaa !13
  %950 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %949, i32 0, i32 24
  %951 = zext i1 %947 to i8
  store i8 %951, ptr %950, align 2, !tbaa !38
  br label %975

952:                                              ; preds = %944
  %953 = load i32, ptr %6, align 4, !tbaa !9
  %954 = load ptr, ptr %7, align 8, !tbaa !5
  %955 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %953, ptr noundef %954, ptr noundef @.str.163)
          to label %956 unwind label %202

956:                                              ; preds = %952
  br i1 %955, label %962, label %957

957:                                              ; preds = %956
  %958 = load i32, ptr %6, align 4, !tbaa !9
  %959 = load ptr, ptr %7, align 8, !tbaa !5
  %960 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %958, ptr noundef %959, ptr noundef @.str.164)
          to label %961 unwind label %202

961:                                              ; preds = %957
  br i1 %960, label %962, label %966

962:                                              ; preds = %961, %956
  %963 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %964 = load ptr, ptr %963, align 8, !tbaa !13
  %965 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %964, i32 0, i32 24
  store i8 1, ptr %965, align 2, !tbaa !38
  br label %974

966:                                              ; preds = %961
  %967 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %968 = trunc i8 %967 to i1
  br i1 %968, label %969, label %973

969:                                              ; preds = %966
  %970 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %971 = load ptr, ptr %970, align 8, !tbaa !13
  %972 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %971, i32 0, i32 24
  store i8 0, ptr %972, align 2, !tbaa !38
  br label %973

973:                                              ; preds = %969, %966
  br label %974

974:                                              ; preds = %973, %962
  br label %975

975:                                              ; preds = %974, %945
  %976 = load i32, ptr %6, align 4, !tbaa !9
  %977 = load ptr, ptr %7, align 8, !tbaa !5
  %978 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %976, ptr noundef %977, ptr noundef @.str.165, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %979 unwind label %202

979:                                              ; preds = %975
  br i1 %978, label %985, label %980

980:                                              ; preds = %979
  %981 = load i32, ptr %6, align 4, !tbaa !9
  %982 = load ptr, ptr %7, align 8, !tbaa !5
  %983 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %981, ptr noundef %982, ptr noundef @.str.166, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %984 unwind label %202

984:                                              ; preds = %980
  br i1 %983, label %985, label %992

985:                                              ; preds = %984, %979
  %986 = load i32, ptr %9, align 4, !tbaa !9
  %987 = icmp ne i32 %986, 0
  %988 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %989 = load ptr, ptr %988, align 8, !tbaa !13
  %990 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %989, i32 0, i32 25
  %991 = zext i1 %987 to i8
  store i8 %991, ptr %990, align 1, !tbaa !39
  br label %1015

992:                                              ; preds = %984
  %993 = load i32, ptr %6, align 4, !tbaa !9
  %994 = load ptr, ptr %7, align 8, !tbaa !5
  %995 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %993, ptr noundef %994, ptr noundef @.str.167)
          to label %996 unwind label %202

996:                                              ; preds = %992
  br i1 %995, label %1002, label %997

997:                                              ; preds = %996
  %998 = load i32, ptr %6, align 4, !tbaa !9
  %999 = load ptr, ptr %7, align 8, !tbaa !5
  %1000 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %998, ptr noundef %999, ptr noundef @.str.168)
          to label %1001 unwind label %202

1001:                                             ; preds = %997
  br i1 %1000, label %1002, label %1006

1002:                                             ; preds = %1001, %996
  %1003 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1004 = load ptr, ptr %1003, align 8, !tbaa !13
  %1005 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1004, i32 0, i32 25
  store i8 1, ptr %1005, align 1, !tbaa !39
  br label %1014

1006:                                             ; preds = %1001
  %1007 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %1008 = trunc i8 %1007 to i1
  br i1 %1008, label %1009, label %1013

1009:                                             ; preds = %1006
  %1010 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1011 = load ptr, ptr %1010, align 8, !tbaa !13
  %1012 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1011, i32 0, i32 25
  store i8 1, ptr %1012, align 1, !tbaa !39
  br label %1013

1013:                                             ; preds = %1009, %1006
  br label %1014

1014:                                             ; preds = %1013, %1002
  br label %1015

1015:                                             ; preds = %1014, %985
  %1016 = load i32, ptr %6, align 4, !tbaa !9
  %1017 = load ptr, ptr %7, align 8, !tbaa !5
  %1018 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1016, ptr noundef %1017, ptr noundef @.str.169, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %1019 unwind label %202

1019:                                             ; preds = %1015
  br i1 %1018, label %1025, label %1020

1020:                                             ; preds = %1019
  %1021 = load i32, ptr %6, align 4, !tbaa !9
  %1022 = load ptr, ptr %7, align 8, !tbaa !5
  %1023 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1021, ptr noundef %1022, ptr noundef @.str.170, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %1024 unwind label %202

1024:                                             ; preds = %1020
  br i1 %1023, label %1025, label %1032

1025:                                             ; preds = %1024, %1019
  %1026 = load i32, ptr %9, align 4, !tbaa !9
  %1027 = icmp ne i32 %1026, 0
  %1028 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1029 = load ptr, ptr %1028, align 8, !tbaa !13
  %1030 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1029, i32 0, i32 26
  %1031 = zext i1 %1027 to i8
  store i8 %1031, ptr %1030, align 4, !tbaa !40
  br label %1055

1032:                                             ; preds = %1024
  %1033 = load i32, ptr %6, align 4, !tbaa !9
  %1034 = load ptr, ptr %7, align 8, !tbaa !5
  %1035 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1033, ptr noundef %1034, ptr noundef @.str.171)
          to label %1036 unwind label %202

1036:                                             ; preds = %1032
  br i1 %1035, label %1042, label %1037

1037:                                             ; preds = %1036
  %1038 = load i32, ptr %6, align 4, !tbaa !9
  %1039 = load ptr, ptr %7, align 8, !tbaa !5
  %1040 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1038, ptr noundef %1039, ptr noundef @.str.172)
          to label %1041 unwind label %202

1041:                                             ; preds = %1037
  br i1 %1040, label %1042, label %1046

1042:                                             ; preds = %1041, %1036
  %1043 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1044 = load ptr, ptr %1043, align 8, !tbaa !13
  %1045 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1044, i32 0, i32 26
  store i8 1, ptr %1045, align 4, !tbaa !40
  br label %1054

1046:                                             ; preds = %1041
  %1047 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %1048 = trunc i8 %1047 to i1
  br i1 %1048, label %1049, label %1053

1049:                                             ; preds = %1046
  %1050 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1051 = load ptr, ptr %1050, align 8, !tbaa !13
  %1052 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1051, i32 0, i32 26
  store i8 0, ptr %1052, align 4, !tbaa !40
  br label %1053

1053:                                             ; preds = %1049, %1046
  br label %1054

1054:                                             ; preds = %1053, %1042
  br label %1055

1055:                                             ; preds = %1054, %1025
  %1056 = load i32, ptr %6, align 4, !tbaa !9
  %1057 = load ptr, ptr %7, align 8, !tbaa !5
  %1058 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1056, ptr noundef %1057, ptr noundef @.str.173, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %1059 unwind label %202

1059:                                             ; preds = %1055
  br i1 %1058, label %1065, label %1060

1060:                                             ; preds = %1059
  %1061 = load i32, ptr %6, align 4, !tbaa !9
  %1062 = load ptr, ptr %7, align 8, !tbaa !5
  %1063 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1061, ptr noundef %1062, ptr noundef @.str.174, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %1064 unwind label %202

1064:                                             ; preds = %1060
  br i1 %1063, label %1065, label %1072

1065:                                             ; preds = %1064, %1059
  %1066 = load i32, ptr %9, align 4, !tbaa !9
  %1067 = icmp ne i32 %1066, 0
  %1068 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1069 = load ptr, ptr %1068, align 8, !tbaa !13
  %1070 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1069, i32 0, i32 27
  %1071 = zext i1 %1067 to i8
  store i8 %1071, ptr %1070, align 1, !tbaa !41
  br label %1095

1072:                                             ; preds = %1064
  %1073 = load i32, ptr %6, align 4, !tbaa !9
  %1074 = load ptr, ptr %7, align 8, !tbaa !5
  %1075 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1073, ptr noundef %1074, ptr noundef @.str.175)
          to label %1076 unwind label %202

1076:                                             ; preds = %1072
  br i1 %1075, label %1082, label %1077

1077:                                             ; preds = %1076
  %1078 = load i32, ptr %6, align 4, !tbaa !9
  %1079 = load ptr, ptr %7, align 8, !tbaa !5
  %1080 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1078, ptr noundef %1079, ptr noundef @.str.176)
          to label %1081 unwind label %202

1081:                                             ; preds = %1077
  br i1 %1080, label %1082, label %1086

1082:                                             ; preds = %1081, %1076
  %1083 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1084 = load ptr, ptr %1083, align 8, !tbaa !13
  %1085 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1084, i32 0, i32 27
  store i8 1, ptr %1085, align 1, !tbaa !41
  br label %1094

1086:                                             ; preds = %1081
  %1087 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %1088 = trunc i8 %1087 to i1
  br i1 %1088, label %1089, label %1093

1089:                                             ; preds = %1086
  %1090 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1091 = load ptr, ptr %1090, align 8, !tbaa !13
  %1092 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1091, i32 0, i32 27
  store i8 0, ptr %1092, align 1, !tbaa !41
  br label %1093

1093:                                             ; preds = %1089, %1086
  br label %1094

1094:                                             ; preds = %1093, %1082
  br label %1095

1095:                                             ; preds = %1094, %1065
  %1096 = load i32, ptr %6, align 4, !tbaa !9
  %1097 = load ptr, ptr %7, align 8, !tbaa !5
  %1098 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1096, ptr noundef %1097, ptr noundef @.str.177, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %1099 unwind label %202

1099:                                             ; preds = %1095
  br i1 %1098, label %1105, label %1100

1100:                                             ; preds = %1099
  %1101 = load i32, ptr %6, align 4, !tbaa !9
  %1102 = load ptr, ptr %7, align 8, !tbaa !5
  %1103 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1101, ptr noundef %1102, ptr noundef @.str.178, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %1104 unwind label %202

1104:                                             ; preds = %1100
  br i1 %1103, label %1105, label %1112

1105:                                             ; preds = %1104, %1099
  %1106 = load i32, ptr %9, align 4, !tbaa !9
  %1107 = icmp ne i32 %1106, 0
  %1108 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1109 = load ptr, ptr %1108, align 8, !tbaa !13
  %1110 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1109, i32 0, i32 28
  %1111 = zext i1 %1107 to i8
  store i8 %1111, ptr %1110, align 2, !tbaa !42
  br label %1135

1112:                                             ; preds = %1104
  %1113 = load i32, ptr %6, align 4, !tbaa !9
  %1114 = load ptr, ptr %7, align 8, !tbaa !5
  %1115 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1113, ptr noundef %1114, ptr noundef @.str.179)
          to label %1116 unwind label %202

1116:                                             ; preds = %1112
  br i1 %1115, label %1122, label %1117

1117:                                             ; preds = %1116
  %1118 = load i32, ptr %6, align 4, !tbaa !9
  %1119 = load ptr, ptr %7, align 8, !tbaa !5
  %1120 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1118, ptr noundef %1119, ptr noundef @.str.180)
          to label %1121 unwind label %202

1121:                                             ; preds = %1117
  br i1 %1120, label %1122, label %1126

1122:                                             ; preds = %1121, %1116
  %1123 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1124 = load ptr, ptr %1123, align 8, !tbaa !13
  %1125 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1124, i32 0, i32 28
  store i8 1, ptr %1125, align 2, !tbaa !42
  br label %1134

1126:                                             ; preds = %1121
  %1127 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %1128 = trunc i8 %1127 to i1
  br i1 %1128, label %1129, label %1133

1129:                                             ; preds = %1126
  %1130 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1131 = load ptr, ptr %1130, align 8, !tbaa !13
  %1132 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1131, i32 0, i32 28
  store i8 0, ptr %1132, align 2, !tbaa !42
  br label %1133

1133:                                             ; preds = %1129, %1126
  br label %1134

1134:                                             ; preds = %1133, %1122
  br label %1135

1135:                                             ; preds = %1134, %1105
  %1136 = load i32, ptr %6, align 4, !tbaa !9
  %1137 = load ptr, ptr %7, align 8, !tbaa !5
  %1138 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1136, ptr noundef %1137, ptr noundef @.str.181, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %1139 unwind label %202

1139:                                             ; preds = %1135
  br i1 %1138, label %1145, label %1140

1140:                                             ; preds = %1139
  %1141 = load i32, ptr %6, align 4, !tbaa !9
  %1142 = load ptr, ptr %7, align 8, !tbaa !5
  %1143 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1141, ptr noundef %1142, ptr noundef @.str.182, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %1144 unwind label %202

1144:                                             ; preds = %1140
  br i1 %1143, label %1145, label %1152

1145:                                             ; preds = %1144, %1139
  %1146 = load i32, ptr %9, align 4, !tbaa !9
  %1147 = icmp ne i32 %1146, 0
  %1148 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1149 = load ptr, ptr %1148, align 8, !tbaa !13
  %1150 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1149, i32 0, i32 29
  %1151 = zext i1 %1147 to i8
  store i8 %1151, ptr %1150, align 1, !tbaa !43
  br label %1175

1152:                                             ; preds = %1144
  %1153 = load i32, ptr %6, align 4, !tbaa !9
  %1154 = load ptr, ptr %7, align 8, !tbaa !5
  %1155 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1153, ptr noundef %1154, ptr noundef @.str.183)
          to label %1156 unwind label %202

1156:                                             ; preds = %1152
  br i1 %1155, label %1162, label %1157

1157:                                             ; preds = %1156
  %1158 = load i32, ptr %6, align 4, !tbaa !9
  %1159 = load ptr, ptr %7, align 8, !tbaa !5
  %1160 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1158, ptr noundef %1159, ptr noundef @.str.184)
          to label %1161 unwind label %202

1161:                                             ; preds = %1157
  br i1 %1160, label %1162, label %1166

1162:                                             ; preds = %1161, %1156
  %1163 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1164 = load ptr, ptr %1163, align 8, !tbaa !13
  %1165 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1164, i32 0, i32 29
  store i8 1, ptr %1165, align 1, !tbaa !43
  br label %1174

1166:                                             ; preds = %1161
  %1167 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %1168 = trunc i8 %1167 to i1
  br i1 %1168, label %1169, label %1173

1169:                                             ; preds = %1166
  %1170 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1171 = load ptr, ptr %1170, align 8, !tbaa !13
  %1172 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1171, i32 0, i32 29
  store i8 0, ptr %1172, align 1, !tbaa !43
  br label %1173

1173:                                             ; preds = %1169, %1166
  br label %1174

1174:                                             ; preds = %1173, %1162
  br label %1175

1175:                                             ; preds = %1174, %1145
  %1176 = load i32, ptr %6, align 4, !tbaa !9
  %1177 = load ptr, ptr %7, align 8, !tbaa !5
  %1178 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1176, ptr noundef %1177, ptr noundef @.str.185, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %1179 unwind label %202

1179:                                             ; preds = %1175
  br i1 %1178, label %1185, label %1180

1180:                                             ; preds = %1179
  %1181 = load i32, ptr %6, align 4, !tbaa !9
  %1182 = load ptr, ptr %7, align 8, !tbaa !5
  %1183 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1181, ptr noundef %1182, ptr noundef @.str.186, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %1184 unwind label %202

1184:                                             ; preds = %1180
  br i1 %1183, label %1185, label %1192

1185:                                             ; preds = %1184, %1179
  %1186 = load i32, ptr %9, align 4, !tbaa !9
  %1187 = icmp ne i32 %1186, 0
  %1188 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1189 = load ptr, ptr %1188, align 8, !tbaa !13
  %1190 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1189, i32 0, i32 30
  %1191 = zext i1 %1187 to i8
  store i8 %1191, ptr %1190, align 8, !tbaa !44
  br label %1215

1192:                                             ; preds = %1184
  %1193 = load i32, ptr %6, align 4, !tbaa !9
  %1194 = load ptr, ptr %7, align 8, !tbaa !5
  %1195 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1193, ptr noundef %1194, ptr noundef @.str.187)
          to label %1196 unwind label %202

1196:                                             ; preds = %1192
  br i1 %1195, label %1202, label %1197

1197:                                             ; preds = %1196
  %1198 = load i32, ptr %6, align 4, !tbaa !9
  %1199 = load ptr, ptr %7, align 8, !tbaa !5
  %1200 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1198, ptr noundef %1199, ptr noundef @.str.188)
          to label %1201 unwind label %202

1201:                                             ; preds = %1197
  br i1 %1200, label %1202, label %1206

1202:                                             ; preds = %1201, %1196
  %1203 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1204 = load ptr, ptr %1203, align 8, !tbaa !13
  %1205 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1204, i32 0, i32 30
  store i8 1, ptr %1205, align 8, !tbaa !44
  br label %1214

1206:                                             ; preds = %1201
  %1207 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %1208 = trunc i8 %1207 to i1
  br i1 %1208, label %1209, label %1213

1209:                                             ; preds = %1206
  %1210 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1211 = load ptr, ptr %1210, align 8, !tbaa !13
  %1212 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1211, i32 0, i32 30
  store i8 0, ptr %1212, align 8, !tbaa !44
  br label %1213

1213:                                             ; preds = %1209, %1206
  br label %1214

1214:                                             ; preds = %1213, %1202
  br label %1215

1215:                                             ; preds = %1214, %1185
  %1216 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %1217 = trunc i8 %1216 to i1
  br i1 %1217, label %1218, label %1237

1218:                                             ; preds = %1215
  %1219 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1220 = load ptr, ptr %1219, align 8, !tbaa !13
  %1221 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1220, i32 0, i32 31
  store i8 0, ptr %1221, align 1, !tbaa !45
  %1222 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1223 = load ptr, ptr %1222, align 8, !tbaa !13
  %1224 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1223, i32 0, i32 32
  store i8 0, ptr %1224, align 2, !tbaa !46
  %1225 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1226 = load ptr, ptr %1225, align 8, !tbaa !13
  %1227 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1226, i32 0, i32 33
  store i8 0, ptr %1227, align 1, !tbaa !47
  %1228 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1229 = load ptr, ptr %1228, align 8, !tbaa !13
  %1230 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1229, i32 0, i32 34
  store i8 0, ptr %1230, align 4, !tbaa !48
  %1231 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1232 = load ptr, ptr %1231, align 8, !tbaa !13
  %1233 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1232, i32 0, i32 35
  store i8 0, ptr %1233, align 1, !tbaa !49
  %1234 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1235 = load ptr, ptr %1234, align 8, !tbaa !13
  %1236 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1235, i32 0, i32 36
  store i8 0, ptr %1236, align 2, !tbaa !50
  br label %1237

1237:                                             ; preds = %1218, %1215
  %1238 = load i32, ptr %6, align 4, !tbaa !9
  %1239 = load ptr, ptr %7, align 8, !tbaa !5
  %1240 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1238, ptr noundef %1239, ptr noundef @.str.189)
          to label %1241 unwind label %202

1241:                                             ; preds = %1237
  br i1 %1240, label %1252, label %1242

1242:                                             ; preds = %1241
  %1243 = load i32, ptr %6, align 4, !tbaa !9
  %1244 = load ptr, ptr %7, align 8, !tbaa !5
  %1245 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1243, ptr noundef %1244, ptr noundef @.str.190)
          to label %1246 unwind label %202

1246:                                             ; preds = %1242
  br i1 %1245, label %1252, label %1247

1247:                                             ; preds = %1246
  %1248 = load i32, ptr %6, align 4, !tbaa !9
  %1249 = load ptr, ptr %7, align 8, !tbaa !5
  %1250 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1248, ptr noundef %1249, ptr noundef @.str.191)
          to label %1251 unwind label %202

1251:                                             ; preds = %1247
  br i1 %1250, label %1252, label %1259

1252:                                             ; preds = %1251, %1246, %1241
  %1253 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1254 = load ptr, ptr %1253, align 8, !tbaa !13
  %1255 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1254, i32 0, i32 31
  store i8 1, ptr %1255, align 1, !tbaa !45
  %1256 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1257 = load ptr, ptr %1256, align 8, !tbaa !13
  %1258 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1257, i32 0, i32 12
  store i8 1, ptr %1258, align 2, !tbaa !26
  br label %1259

1259:                                             ; preds = %1252, %1251
  %1260 = load i32, ptr %6, align 4, !tbaa !9
  %1261 = load ptr, ptr %7, align 8, !tbaa !5
  %1262 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1260, ptr noundef %1261, ptr noundef @.str.192)
          to label %1263 unwind label %202

1263:                                             ; preds = %1259
  br i1 %1262, label %1269, label %1264

1264:                                             ; preds = %1263
  %1265 = load i32, ptr %6, align 4, !tbaa !9
  %1266 = load ptr, ptr %7, align 8, !tbaa !5
  %1267 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1265, ptr noundef %1266, ptr noundef @.str.193)
          to label %1268 unwind label %202

1268:                                             ; preds = %1264
  br i1 %1267, label %1269, label %1276

1269:                                             ; preds = %1268, %1263
  %1270 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1271 = load ptr, ptr %1270, align 8, !tbaa !13
  %1272 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1271, i32 0, i32 32
  store i8 1, ptr %1272, align 2, !tbaa !46
  %1273 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1274 = load ptr, ptr %1273, align 8, !tbaa !13
  %1275 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1274, i32 0, i32 12
  store i8 1, ptr %1275, align 2, !tbaa !26
  br label %1276

1276:                                             ; preds = %1269, %1268
  %1277 = load i32, ptr %6, align 4, !tbaa !9
  %1278 = load ptr, ptr %7, align 8, !tbaa !5
  %1279 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1277, ptr noundef %1278, ptr noundef @.str.194)
          to label %1280 unwind label %202

1280:                                             ; preds = %1276
  br i1 %1279, label %1286, label %1281

1281:                                             ; preds = %1280
  %1282 = load i32, ptr %6, align 4, !tbaa !9
  %1283 = load ptr, ptr %7, align 8, !tbaa !5
  %1284 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1282, ptr noundef %1283, ptr noundef @.str.195)
          to label %1285 unwind label %202

1285:                                             ; preds = %1281
  br i1 %1284, label %1286, label %1293

1286:                                             ; preds = %1285, %1280
  %1287 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1288 = load ptr, ptr %1287, align 8, !tbaa !13
  %1289 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1288, i32 0, i32 33
  store i8 1, ptr %1289, align 1, !tbaa !47
  %1290 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1291 = load ptr, ptr %1290, align 8, !tbaa !13
  %1292 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1291, i32 0, i32 12
  store i8 1, ptr %1292, align 2, !tbaa !26
  br label %1293

1293:                                             ; preds = %1286, %1285
  %1294 = load i32, ptr %6, align 4, !tbaa !9
  %1295 = load ptr, ptr %7, align 8, !tbaa !5
  %1296 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1294, ptr noundef %1295, ptr noundef @.str.196)
          to label %1297 unwind label %202

1297:                                             ; preds = %1293
  br i1 %1296, label %1303, label %1298

1298:                                             ; preds = %1297
  %1299 = load i32, ptr %6, align 4, !tbaa !9
  %1300 = load ptr, ptr %7, align 8, !tbaa !5
  %1301 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1299, ptr noundef %1300, ptr noundef @.str.197)
          to label %1302 unwind label %202

1302:                                             ; preds = %1298
  br i1 %1301, label %1303, label %1310

1303:                                             ; preds = %1302, %1297
  %1304 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1305 = load ptr, ptr %1304, align 8, !tbaa !13
  %1306 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1305, i32 0, i32 34
  store i8 1, ptr %1306, align 4, !tbaa !48
  %1307 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1308 = load ptr, ptr %1307, align 8, !tbaa !13
  %1309 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1308, i32 0, i32 12
  store i8 1, ptr %1309, align 2, !tbaa !26
  br label %1310

1310:                                             ; preds = %1303, %1302
  %1311 = load i32, ptr %6, align 4, !tbaa !9
  %1312 = load ptr, ptr %7, align 8, !tbaa !5
  %1313 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1311, ptr noundef %1312, ptr noundef @.str.198)
          to label %1314 unwind label %202

1314:                                             ; preds = %1310
  br i1 %1313, label %1320, label %1315

1315:                                             ; preds = %1314
  %1316 = load i32, ptr %6, align 4, !tbaa !9
  %1317 = load ptr, ptr %7, align 8, !tbaa !5
  %1318 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1316, ptr noundef %1317, ptr noundef @.str.199)
          to label %1319 unwind label %202

1319:                                             ; preds = %1315
  br i1 %1318, label %1320, label %1327

1320:                                             ; preds = %1319, %1314
  %1321 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1322 = load ptr, ptr %1321, align 8, !tbaa !13
  %1323 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1322, i32 0, i32 35
  store i8 1, ptr %1323, align 1, !tbaa !49
  %1324 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1325 = load ptr, ptr %1324, align 8, !tbaa !13
  %1326 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1325, i32 0, i32 12
  store i8 1, ptr %1326, align 2, !tbaa !26
  br label %1327

1327:                                             ; preds = %1320, %1319
  %1328 = load i32, ptr %6, align 4, !tbaa !9
  %1329 = load ptr, ptr %7, align 8, !tbaa !5
  %1330 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1328, ptr noundef %1329, ptr noundef @.str.200)
          to label %1331 unwind label %202

1331:                                             ; preds = %1327
  br i1 %1330, label %1337, label %1332

1332:                                             ; preds = %1331
  %1333 = load i32, ptr %6, align 4, !tbaa !9
  %1334 = load ptr, ptr %7, align 8, !tbaa !5
  %1335 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1333, ptr noundef %1334, ptr noundef @.str.201)
          to label %1336 unwind label %202

1336:                                             ; preds = %1332
  br i1 %1335, label %1337, label %1344

1337:                                             ; preds = %1336, %1331
  %1338 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1339 = load ptr, ptr %1338, align 8, !tbaa !13
  %1340 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1339, i32 0, i32 36
  store i8 1, ptr %1340, align 2, !tbaa !50
  %1341 = getelementptr inbounds %"class.doctest::Context", ptr %22, i32 0, i32 0
  %1342 = load ptr, ptr %1341, align 8, !tbaa !13
  %1343 = getelementptr inbounds %"struct.doctest::ContextOptions", ptr %1342, i32 0, i32 12
  store i8 1, ptr %1343, align 2, !tbaa !26
  br label %1344

1344:                                             ; preds = %1337, %1336
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #3
  ret void

1345:                                             ; preds = %259, %202, %201
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #3
  br label %1346

1346:                                             ; preds = %1345
  %1347 = load ptr, ptr %12, align 8
  %1348 = load i32, ptr %13, align 4
  %1349 = insertvalue { ptr, i32 } poison, ptr %1347, 0
  %1350 = insertvalue { ptr, i32 } %1349, i32 %1348, 1
  resume { ptr, i32 } %1350
}

; Function Attrs: mustprogress uwtable
declare hidden noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(24)) #1

; Function Attrs: mustprogress uwtable
declare hidden noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_111parseOptionEiPKPKcS2_PNS_6StringERKS5_(i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(24)) #1

; Function Attrs: mustprogress uwtable
declare hidden noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef, ptr noundef, ptr noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(4)) #1

; Function Attrs: mustprogress uwtable
declare hidden noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef, ptr noundef, ptr noundef) #1

declare void @_ZN7doctest6StringC1Ev(ptr)

declare void @_ZN7doctest6StringD1Ev(ptr)

declare void @_ZN7doctest6StringC1EPKc(ptr, ptr)

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #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 = { nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"bool", !7, i64 0}
!13 = !{!14, !6, i64 0}
!14 = !{!"_ZTSN7doctest7ContextE", !6, i64 0}
!15 = !{i8 0, i8 2}
!16 = !{}
!17 = !{!18, !10, i64 88}
!18 = !{!"_ZTSN7doctest14ContextOptionsE", !6, i64 0, !19, i64 8, !6, i64 32, !19, i64 40, !19, i64 64, !10, i64 88, !10, i64 92, !10, i64 96, !10, i64 100, !10, i64 104, !12, i64 108, !12, i64 109, !12, i64 110, !12, i64 111, !12, i64 112, !12, i64 113, !12, i64 114, !12, i64 115, !12, i64 116, !12, i64 117, !12, i64 118, !12, i64 119, !12, i64 120, !12, i64 121, !12, i64 122, !12, i64 123, !12, i64 124, !12, i64 125, !12, i64 126, !12, i64 127, !12, i64 128, !12, i64 129, !12, i64 130, !12, i64 131, !12, i64 132, !12, i64 133, !12, i64 134}
!19 = !{!"_ZTSN7doctest6StringE", !7, i64 0}
!20 = !{!18, !10, i64 92}
!21 = !{!18, !10, i64 96}
!22 = !{!18, !10, i64 100}
!23 = !{!18, !10, i64 104}
!24 = !{!18, !12, i64 108}
!25 = !{!18, !12, i64 109}
!26 = !{!18, !12, i64 110}
!27 = !{!18, !12, i64 111}
!28 = !{!18, !12, i64 112}
!29 = !{!18, !12, i64 113}
!30 = !{!18, !12, i64 114}
!31 = !{!18, !12, i64 115}
!32 = !{!18, !12, i64 116}
!33 = !{!18, !12, i64 117}
!34 = !{!18, !12, i64 118}
!35 = !{!18, !12, i64 119}
!36 = !{!18, !12, i64 120}
!37 = !{!18, !12, i64 121}
!38 = !{!18, !12, i64 122}
!39 = !{!18, !12, i64 123}
!40 = !{!18, !12, i64 124}
!41 = !{!18, !12, i64 125}
!42 = !{!18, !12, i64 126}
!43 = !{!18, !12, i64 127}
!44 = !{!18, !12, i64 128}
!45 = !{!18, !12, i64 129}
!46 = !{!18, !12, i64 130}
!47 = !{!18, !12, i64 131}
!48 = !{!18, !12, i64 132}
!49 = !{!18, !12, i64 133}
!50 = !{!18, !12, i64 134}


; 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.doctest::String" = type { %union.anon.7 }
%union.anon.7 = type { %"struct.doctest::String::view", [8 x i8] }
%"struct.doctest::String::view" = type { ptr, i32, i32 }

@.str = external hidden unnamed_addr constant [1 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [6 x i8], align 1

; 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: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN7doctest6StringaSERKS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN7doctest7Context9parseArgsEiPKPKcb(ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %0, i32 noundef %1, ptr noundef %2, i1 noundef zeroext %3) local_unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %5 = alloca i32, align 4
  %6 = alloca %"class.doctest::String", align 8
  %7 = alloca %"class.doctest::String", align 8
  %8 = alloca %"class.doctest::String", align 8
  %9 = alloca %"class.doctest::String", align 8
  %10 = alloca %"class.doctest::String", align 8
  %11 = load ptr, ptr %0, align 8, !tbaa !5
  %12 = getelementptr inbounds i8, ptr %11, i64 4280
  %13 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef 0) #4
  %14 = tail call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.72, ptr noundef nonnull align 8 dereferenceable(24) %13)
  %15 = load ptr, ptr %0, align 8, !tbaa !5
  %16 = getelementptr inbounds i8, ptr %15, i64 4280
  %17 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 0) #4
  %18 = tail call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.73, ptr noundef nonnull align 8 dereferenceable(24) %17)
  %19 = load ptr, ptr %0, align 8, !tbaa !5
  %20 = getelementptr inbounds i8, ptr %19, i64 4280
  %21 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 1) #4
  %22 = tail call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.74, ptr noundef nonnull align 8 dereferenceable(24) %21)
  %23 = load ptr, ptr %0, align 8, !tbaa !5
  %24 = getelementptr inbounds i8, ptr %23, i64 4280
  %25 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef 1) #4
  %26 = tail call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.75, ptr noundef nonnull align 8 dereferenceable(24) %25)
  %27 = load ptr, ptr %0, align 8, !tbaa !5
  %28 = getelementptr inbounds i8, ptr %27, i64 4280
  %29 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %28, i64 noundef 2) #4
  %30 = tail call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.76, ptr noundef nonnull align 8 dereferenceable(24) %29)
  %31 = load ptr, ptr %0, align 8, !tbaa !5
  %32 = getelementptr inbounds i8, ptr %31, i64 4280
  %33 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %32, i64 noundef 2) #4
  %34 = tail call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.77, ptr noundef nonnull align 8 dereferenceable(24) %33)
  %35 = load ptr, ptr %0, align 8, !tbaa !5
  %36 = getelementptr inbounds i8, ptr %35, i64 4280
  %37 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %36, i64 noundef 3) #4
  %38 = tail call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.78, ptr noundef nonnull align 8 dereferenceable(24) %37)
  %39 = load ptr, ptr %0, align 8, !tbaa !5
  %40 = getelementptr inbounds i8, ptr %39, i64 4280
  %41 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %40, i64 noundef 3) #4
  %42 = tail call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.79, ptr noundef nonnull align 8 dereferenceable(24) %41)
  %43 = load ptr, ptr %0, align 8, !tbaa !5
  %44 = getelementptr inbounds i8, ptr %43, i64 4280
  %45 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %44, i64 noundef 4) #4
  %46 = tail call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.80, ptr noundef nonnull align 8 dereferenceable(24) %45)
  %47 = load ptr, ptr %0, align 8, !tbaa !5
  %48 = getelementptr inbounds i8, ptr %47, i64 4280
  %49 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %48, i64 noundef 4) #4
  %50 = tail call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.81, ptr noundef nonnull align 8 dereferenceable(24) %49)
  %51 = load ptr, ptr %0, align 8, !tbaa !5
  %52 = getelementptr inbounds i8, ptr %51, i64 4280
  %53 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %52, i64 noundef 5) #4
  %54 = tail call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.82, ptr noundef nonnull align 8 dereferenceable(24) %53)
  %55 = load ptr, ptr %0, align 8, !tbaa !5
  %56 = getelementptr inbounds i8, ptr %55, i64 4280
  %57 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %56, i64 noundef 5) #4
  %58 = tail call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.83, ptr noundef nonnull align 8 dereferenceable(24) %57)
  %59 = load ptr, ptr %0, align 8, !tbaa !5
  %60 = getelementptr inbounds i8, ptr %59, i64 4280
  %61 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %60, i64 noundef 6) #4
  %62 = tail call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.84, ptr noundef nonnull align 8 dereferenceable(24) %61)
  %63 = load ptr, ptr %0, align 8, !tbaa !5
  %64 = getelementptr inbounds i8, ptr %63, i64 4280
  %65 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %64, i64 noundef 6) #4
  %66 = tail call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.85, ptr noundef nonnull align 8 dereferenceable(24) %65)
  %67 = load ptr, ptr %0, align 8, !tbaa !5
  %68 = getelementptr inbounds i8, ptr %67, i64 4280
  %69 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %68, i64 noundef 7) #4
  %70 = tail call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.86, ptr noundef nonnull align 8 dereferenceable(24) %69)
  %71 = load ptr, ptr %0, align 8, !tbaa !5
  %72 = getelementptr inbounds i8, ptr %71, i64 4280
  %73 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %72, i64 noundef 7) #4
  %74 = tail call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.87, ptr noundef nonnull align 8 dereferenceable(24) %73)
  %75 = load ptr, ptr %0, align 8, !tbaa !5
  %76 = getelementptr inbounds i8, ptr %75, i64 4280
  %77 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %76, i64 noundef 8) #4
  %78 = tail call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.88, ptr noundef nonnull align 8 dereferenceable(24) %77)
  %79 = load ptr, ptr %0, align 8, !tbaa !5
  %80 = getelementptr inbounds i8, ptr %79, i64 4280
  %81 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IN7doctest6StringESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %80, i64 noundef 8) #4
  %82 = tail call noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.89, ptr noundef nonnull align 8 dereferenceable(24) %81)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #4
  store i32 0, ptr %5, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #4
  call void @_ZN7doctest6StringC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #4
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #4
  invoke void @_ZN7doctest6StringC1EPKc(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull @.str)
          to label %83 unwind label %93

83:                                               ; preds = %4
  %84 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_111parseOptionEiPKPKcS2_PNS_6StringERKS5_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.90, ptr noundef nonnull %6, ptr noundef nonnull align 8 dereferenceable(24) %7)
          to label %85 unwind label %95

85:                                               ; preds = %83
  br i1 %84, label %.critedge.thread, label %86

.critedge.thread:                                 ; preds = %85
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #4
  br label %89

86:                                               ; preds = %85
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #4
  invoke void @_ZN7doctest6StringC1EPKc(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull @.str)
          to label %87 unwind label %97

87:                                               ; preds = %86
  %88 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_111parseOptionEiPKPKcS2_PNS_6StringERKS5_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.91, ptr noundef nonnull %6, ptr noundef nonnull align 8 dereferenceable(24) %8)
          to label %.critedge unwind label %99

.critedge:                                        ; preds = %87
  %spec.select = or i1 %88, %3
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #4
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #4
  br i1 %spec.select, label %89, label %106

89:                                               ; preds = %.critedge.thread, %.critedge
  %90 = load ptr, ptr %0, align 8, !tbaa !5
  %91 = getelementptr inbounds i8, ptr %90, i64 40
  %92 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN7doctest6StringaSERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %91, ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %106 unwind label %104

93:                                               ; preds = %4
  %94 = landingpad { ptr, i32 }
          cleanup
  br label %103

95:                                               ; preds = %83
  %96 = landingpad { ptr, i32 }
          cleanup
  br label %102

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

99:                                               ; preds = %87
  %100 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #4
  br label %101

101:                                              ; preds = %97, %99
  %.pn = phi { ptr, i32 } [ %100, %99 ], [ %98, %97 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #4
  br label %102

102:                                              ; preds = %101, %95
  %.pn.pn = phi { ptr, i32 } [ %.pn, %101 ], [ %96, %95 ]
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #4
  br label %103

103:                                              ; preds = %102, %93
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %102 ], [ %94, %93 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #4
  br label %775

104:                                              ; preds = %767, %764, %757, %754, %747, %744, %737, %734, %727, %724, %717, %714, %.critedge321, %698, %695, %686, %683, %673, %670, %661, %658, %648, %645, %636, %633, %623, %620, %611, %608, %598, %595, %586, %583, %573, %570, %561, %558, %548, %545, %536, %533, %523, %520, %511, %508, %498, %495, %486, %483, %473, %470, %461, %458, %448, %445, %436, %433, %423, %420, %411, %408, %398, %395, %386, %383, %373, %370, %361, %358, %348, %345, %336, %333, %323, %320, %311, %308, %298, %295, %286, %283, %273, %270, %261, %258, %248, %245, %236, %233, %223, %220, %211, %208, %198, %195, %186, %183, %175, %172, %164, %161, %153, %150, %142, %139, %131, %128, %113, %89
  %105 = landingpad { ptr, i32 }
          cleanup
  br label %775

106:                                              ; preds = %89, %.critedge
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #4
  invoke void @_ZN7doctest6StringC1EPKc(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull @.str.93)
          to label %107 unwind label %117

107:                                              ; preds = %106
  %108 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_111parseOptionEiPKPKcS2_PNS_6StringERKS5_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.92, ptr noundef nonnull %6, ptr noundef nonnull align 8 dereferenceable(24) %9)
          to label %109 unwind label %119

109:                                              ; preds = %107
  br i1 %108, label %.critedge319.thread, label %110

.critedge319.thread:                              ; preds = %109
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #4
  br label %113

110:                                              ; preds = %109
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #4
  invoke void @_ZN7doctest6StringC1EPKc(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull @.str.93)
          to label %111 unwind label %121

111:                                              ; preds = %110
  %112 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_111parseOptionEiPKPKcS2_PNS_6StringERKS5_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.94, ptr noundef nonnull %6, ptr noundef nonnull align 8 dereferenceable(24) %10)
          to label %.critedge319 unwind label %123

.critedge319:                                     ; preds = %111
  %spec.select317 = or i1 %112, %3
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #4
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #4
  br i1 %spec.select317, label %113, label %128

113:                                              ; preds = %.critedge319.thread, %.critedge319
  %114 = load ptr, ptr %0, align 8, !tbaa !5
  %115 = getelementptr inbounds i8, ptr %114, i64 64
  %116 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN7doctest6StringaSERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %115, ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %128 unwind label %104

117:                                              ; preds = %106
  %118 = landingpad { ptr, i32 }
          cleanup
  br label %127

119:                                              ; preds = %107
  %120 = landingpad { ptr, i32 }
          cleanup
  br label %126

121:                                              ; preds = %110
  %122 = landingpad { ptr, i32 }
          cleanup
  br label %125

123:                                              ; preds = %111
  %124 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #4
  br label %125

125:                                              ; preds = %121, %123
  %.pn311 = phi { ptr, i32 } [ %124, %123 ], [ %122, %121 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #4
  br label %126

126:                                              ; preds = %125, %119
  %.pn311.pn = phi { ptr, i32 } [ %.pn311, %125 ], [ %120, %119 ]
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #4
  br label %127

127:                                              ; preds = %126, %117
  %.pn311.pn.pn = phi { ptr, i32 } [ %.pn311.pn, %126 ], [ %118, %117 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #4
  br label %775

128:                                              ; preds = %113, %.critedge319
  %129 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.95, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %130 unwind label %104

130:                                              ; preds = %128
  br i1 %129, label %134, label %131

131:                                              ; preds = %130
  %132 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.96, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %133 unwind label %104

133:                                              ; preds = %131
  br i1 %132, label %134, label %136

134:                                              ; preds = %133, %130
  %135 = load i32, ptr %5, align 4, !tbaa !10
  br label %.sink.split

136:                                              ; preds = %133
  br i1 %3, label %.sink.split, label %139

.sink.split:                                      ; preds = %136, %134
  %.sink = phi i32 [ %135, %134 ], [ 0, %136 ]
  %137 = load ptr, ptr %0, align 8, !tbaa !5
  %138 = getelementptr inbounds i8, ptr %137, i64 88
  store i32 %.sink, ptr %138, align 8, !tbaa !12
  br label %139

139:                                              ; preds = %.sink.split, %136
  %140 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.97, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %141 unwind label %104

141:                                              ; preds = %139
  br i1 %140, label %145, label %142

142:                                              ; preds = %141
  %143 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.98, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %144 unwind label %104

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

145:                                              ; preds = %144, %141
  %146 = load i32, ptr %5, align 4, !tbaa !10
  br label %.sink.split326

147:                                              ; preds = %144
  br i1 %3, label %.sink.split326, label %150

.sink.split326:                                   ; preds = %147, %145
  %.sink327 = phi i32 [ %146, %145 ], [ 0, %147 ]
  %148 = load ptr, ptr %0, align 8, !tbaa !5
  %149 = getelementptr inbounds i8, ptr %148, i64 92
  store i32 %.sink327, ptr %149, align 4, !tbaa !16
  br label %150

150:                                              ; preds = %.sink.split326, %147
  %151 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.99, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %152 unwind label %104

152:                                              ; preds = %150
  br i1 %151, label %156, label %153

153:                                              ; preds = %152
  %154 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.100, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %155 unwind label %104

155:                                              ; preds = %153
  br i1 %154, label %156, label %158

156:                                              ; preds = %155, %152
  %157 = load i32, ptr %5, align 4, !tbaa !10
  br label %.sink.split330

158:                                              ; preds = %155
  br i1 %3, label %.sink.split330, label %161

.sink.split330:                                   ; preds = %158, %156
  %.sink331 = phi i32 [ %157, %156 ], [ -1, %158 ]
  %159 = load ptr, ptr %0, align 8, !tbaa !5
  %160 = getelementptr inbounds i8, ptr %159, i64 96
  store i32 %.sink331, ptr %160, align 8, !tbaa !17
  br label %161

161:                                              ; preds = %.sink.split330, %158
  %162 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.101, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %163 unwind label %104

163:                                              ; preds = %161
  br i1 %162, label %167, label %164

164:                                              ; preds = %163
  %165 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.102, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %166 unwind label %104

166:                                              ; preds = %164
  br i1 %165, label %167, label %169

167:                                              ; preds = %166, %163
  %168 = load i32, ptr %5, align 4, !tbaa !10
  br label %.sink.split334

169:                                              ; preds = %166
  br i1 %3, label %.sink.split334, label %172

.sink.split334:                                   ; preds = %169, %167
  %.sink335 = phi i32 [ %168, %167 ], [ 0, %169 ]
  %170 = load ptr, ptr %0, align 8, !tbaa !5
  %171 = getelementptr inbounds i8, ptr %170, i64 100
  store i32 %.sink335, ptr %171, align 4, !tbaa !18
  br label %172

172:                                              ; preds = %.sink.split334, %169
  %173 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.103, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %174 unwind label %104

174:                                              ; preds = %172
  br i1 %173, label %178, label %175

175:                                              ; preds = %174
  %176 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.104, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %177 unwind label %104

177:                                              ; preds = %175
  br i1 %176, label %178, label %180

178:                                              ; preds = %177, %174
  %179 = load i32, ptr %5, align 4, !tbaa !10
  br label %.sink.split338

180:                                              ; preds = %177
  br i1 %3, label %.sink.split338, label %183

.sink.split338:                                   ; preds = %180, %178
  %.sink339 = phi i32 [ %179, %178 ], [ 2147483647, %180 ]
  %181 = load ptr, ptr %0, align 8, !tbaa !5
  %182 = getelementptr inbounds i8, ptr %181, i64 104
  store i32 %.sink339, ptr %182, align 8, !tbaa !19
  br label %183

183:                                              ; preds = %.sink.split338, %180
  %184 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.105, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %185 unwind label %104

185:                                              ; preds = %183
  br i1 %184, label %189, label %186

186:                                              ; preds = %185
  %187 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.106, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %188 unwind label %104

188:                                              ; preds = %186
  br i1 %187, label %189, label %195

189:                                              ; preds = %188, %185
  %190 = load i32, ptr %5, align 4, !tbaa !10
  %191 = icmp ne i32 %190, 0
  %192 = load ptr, ptr %0, align 8, !tbaa !5
  %193 = getelementptr inbounds i8, ptr %192, i64 108
  %194 = zext i1 %191 to i8
  store i8 %194, ptr %193, align 4, !tbaa !20
  br label %208

195:                                              ; preds = %188
  %196 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.107)
          to label %197 unwind label %104

197:                                              ; preds = %195
  br i1 %196, label %201, label %198

198:                                              ; preds = %197
  %199 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.108)
          to label %200 unwind label %104

200:                                              ; preds = %198
  br i1 %199, label %201, label %204

201:                                              ; preds = %200, %197
  %202 = load ptr, ptr %0, align 8, !tbaa !5
  %203 = getelementptr inbounds i8, ptr %202, i64 108
  store i8 1, ptr %203, align 4, !tbaa !20
  br label %208

204:                                              ; preds = %200
  br i1 %3, label %205, label %208

205:                                              ; preds = %204
  %206 = load ptr, ptr %0, align 8, !tbaa !5
  %207 = getelementptr inbounds i8, ptr %206, i64 108
  store i8 0, ptr %207, align 4, !tbaa !20
  br label %208

208:                                              ; preds = %201, %205, %204, %189
  %209 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.109, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %210 unwind label %104

210:                                              ; preds = %208
  br i1 %209, label %214, label %211

211:                                              ; preds = %210
  %212 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.110, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %213 unwind label %104

213:                                              ; preds = %211
  br i1 %212, label %214, label %220

214:                                              ; preds = %213, %210
  %215 = load i32, ptr %5, align 4, !tbaa !10
  %216 = icmp ne i32 %215, 0
  %217 = load ptr, ptr %0, align 8, !tbaa !5
  %218 = getelementptr inbounds i8, ptr %217, i64 109
  %219 = zext i1 %216 to i8
  store i8 %219, ptr %218, align 1, !tbaa !21
  br label %233

220:                                              ; preds = %213
  %221 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.111)
          to label %222 unwind label %104

222:                                              ; preds = %220
  br i1 %221, label %226, label %223

223:                                              ; preds = %222
  %224 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.112)
          to label %225 unwind label %104

225:                                              ; preds = %223
  br i1 %224, label %226, label %229

226:                                              ; preds = %225, %222
  %227 = load ptr, ptr %0, align 8, !tbaa !5
  %228 = getelementptr inbounds i8, ptr %227, i64 109
  store i8 1, ptr %228, align 1, !tbaa !21
  br label %233

229:                                              ; preds = %225
  br i1 %3, label %230, label %233

230:                                              ; preds = %229
  %231 = load ptr, ptr %0, align 8, !tbaa !5
  %232 = getelementptr inbounds i8, ptr %231, i64 109
  store i8 0, ptr %232, align 1, !tbaa !21
  br label %233

233:                                              ; preds = %226, %230, %229, %214
  %234 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.113, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %235 unwind label %104

235:                                              ; preds = %233
  br i1 %234, label %239, label %236

236:                                              ; preds = %235
  %237 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.114, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %238 unwind label %104

238:                                              ; preds = %236
  br i1 %237, label %239, label %245

239:                                              ; preds = %238, %235
  %240 = load i32, ptr %5, align 4, !tbaa !10
  %241 = icmp ne i32 %240, 0
  %242 = load ptr, ptr %0, align 8, !tbaa !5
  %243 = getelementptr inbounds i8, ptr %242, i64 110
  %244 = zext i1 %241 to i8
  store i8 %244, ptr %243, align 2, !tbaa !22
  br label %258

245:                                              ; preds = %238
  %246 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.115)
          to label %247 unwind label %104

247:                                              ; preds = %245
  br i1 %246, label %251, label %248

248:                                              ; preds = %247
  %249 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.116)
          to label %250 unwind label %104

250:                                              ; preds = %248
  br i1 %249, label %251, label %254

251:                                              ; preds = %250, %247
  %252 = load ptr, ptr %0, align 8, !tbaa !5
  %253 = getelementptr inbounds i8, ptr %252, i64 110
  store i8 1, ptr %253, align 2, !tbaa !22
  br label %258

254:                                              ; preds = %250
  br i1 %3, label %255, label %258

255:                                              ; preds = %254
  %256 = load ptr, ptr %0, align 8, !tbaa !5
  %257 = getelementptr inbounds i8, ptr %256, i64 110
  store i8 0, ptr %257, align 2, !tbaa !22
  br label %258

258:                                              ; preds = %251, %255, %254, %239
  %259 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.117, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %260 unwind label %104

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

261:                                              ; preds = %260
  %262 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.118, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %263 unwind label %104

263:                                              ; preds = %261
  br i1 %262, label %264, label %270

264:                                              ; preds = %263, %260
  %265 = load i32, ptr %5, align 4, !tbaa !10
  %266 = icmp ne i32 %265, 0
  %267 = load ptr, ptr %0, align 8, !tbaa !5
  %268 = getelementptr inbounds i8, ptr %267, i64 111
  %269 = zext i1 %266 to i8
  store i8 %269, ptr %268, align 1, !tbaa !23
  br label %283

270:                                              ; preds = %263
  %271 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.119)
          to label %272 unwind label %104

272:                                              ; preds = %270
  br i1 %271, label %276, label %273

273:                                              ; preds = %272
  %274 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.120)
          to label %275 unwind label %104

275:                                              ; preds = %273
  br i1 %274, label %276, label %279

276:                                              ; preds = %275, %272
  %277 = load ptr, ptr %0, align 8, !tbaa !5
  %278 = getelementptr inbounds i8, ptr %277, i64 111
  store i8 1, ptr %278, align 1, !tbaa !23
  br label %283

279:                                              ; preds = %275
  br i1 %3, label %280, label %283

280:                                              ; preds = %279
  %281 = load ptr, ptr %0, align 8, !tbaa !5
  %282 = getelementptr inbounds i8, ptr %281, i64 111
  store i8 0, ptr %282, align 1, !tbaa !23
  br label %283

283:                                              ; preds = %276, %280, %279, %264
  %284 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.121, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %285 unwind label %104

285:                                              ; preds = %283
  br i1 %284, label %289, label %286

286:                                              ; preds = %285
  %287 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.122, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %288 unwind label %104

288:                                              ; preds = %286
  br i1 %287, label %289, label %295

289:                                              ; preds = %288, %285
  %290 = load i32, ptr %5, align 4, !tbaa !10
  %291 = icmp ne i32 %290, 0
  %292 = load ptr, ptr %0, align 8, !tbaa !5
  %293 = getelementptr inbounds i8, ptr %292, i64 112
  %294 = zext i1 %291 to i8
  store i8 %294, ptr %293, align 8, !tbaa !24
  br label %308

295:                                              ; preds = %288
  %296 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.123)
          to label %297 unwind label %104

297:                                              ; preds = %295
  br i1 %296, label %301, label %298

298:                                              ; preds = %297
  %299 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.124)
          to label %300 unwind label %104

300:                                              ; preds = %298
  br i1 %299, label %301, label %304

301:                                              ; preds = %300, %297
  %302 = load ptr, ptr %0, align 8, !tbaa !5
  %303 = getelementptr inbounds i8, ptr %302, i64 112
  store i8 1, ptr %303, align 8, !tbaa !24
  br label %308

304:                                              ; preds = %300
  br i1 %3, label %305, label %308

305:                                              ; preds = %304
  %306 = load ptr, ptr %0, align 8, !tbaa !5
  %307 = getelementptr inbounds i8, ptr %306, i64 112
  store i8 0, ptr %307, align 8, !tbaa !24
  br label %308

308:                                              ; preds = %301, %305, %304, %289
  %309 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.125, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %310 unwind label %104

310:                                              ; preds = %308
  br i1 %309, label %314, label %311

311:                                              ; preds = %310
  %312 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.126, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %313 unwind label %104

313:                                              ; preds = %311
  br i1 %312, label %314, label %320

314:                                              ; preds = %313, %310
  %315 = load i32, ptr %5, align 4, !tbaa !10
  %316 = icmp ne i32 %315, 0
  %317 = load ptr, ptr %0, align 8, !tbaa !5
  %318 = getelementptr inbounds i8, ptr %317, i64 113
  %319 = zext i1 %316 to i8
  store i8 %319, ptr %318, align 1, !tbaa !25
  br label %333

320:                                              ; preds = %313
  %321 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.127)
          to label %322 unwind label %104

322:                                              ; preds = %320
  br i1 %321, label %326, label %323

323:                                              ; preds = %322
  %324 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.128)
          to label %325 unwind label %104

325:                                              ; preds = %323
  br i1 %324, label %326, label %329

326:                                              ; preds = %325, %322
  %327 = load ptr, ptr %0, align 8, !tbaa !5
  %328 = getelementptr inbounds i8, ptr %327, i64 113
  store i8 1, ptr %328, align 1, !tbaa !25
  br label %333

329:                                              ; preds = %325
  br i1 %3, label %330, label %333

330:                                              ; preds = %329
  %331 = load ptr, ptr %0, align 8, !tbaa !5
  %332 = getelementptr inbounds i8, ptr %331, i64 113
  store i8 0, ptr %332, align 1, !tbaa !25
  br label %333

333:                                              ; preds = %326, %330, %329, %314
  %334 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.129, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %335 unwind label %104

335:                                              ; preds = %333
  br i1 %334, label %339, label %336

336:                                              ; preds = %335
  %337 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.130, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %338 unwind label %104

338:                                              ; preds = %336
  br i1 %337, label %339, label %345

339:                                              ; preds = %338, %335
  %340 = load i32, ptr %5, align 4, !tbaa !10
  %341 = icmp ne i32 %340, 0
  %342 = load ptr, ptr %0, align 8, !tbaa !5
  %343 = getelementptr inbounds i8, ptr %342, i64 114
  %344 = zext i1 %341 to i8
  store i8 %344, ptr %343, align 2, !tbaa !26
  br label %358

345:                                              ; preds = %338
  %346 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.131)
          to label %347 unwind label %104

347:                                              ; preds = %345
  br i1 %346, label %351, label %348

348:                                              ; preds = %347
  %349 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.132)
          to label %350 unwind label %104

350:                                              ; preds = %348
  br i1 %349, label %351, label %354

351:                                              ; preds = %350, %347
  %352 = load ptr, ptr %0, align 8, !tbaa !5
  %353 = getelementptr inbounds i8, ptr %352, i64 114
  store i8 1, ptr %353, align 2, !tbaa !26
  br label %358

354:                                              ; preds = %350
  br i1 %3, label %355, label %358

355:                                              ; preds = %354
  %356 = load ptr, ptr %0, align 8, !tbaa !5
  %357 = getelementptr inbounds i8, ptr %356, i64 114
  store i8 0, ptr %357, align 2, !tbaa !26
  br label %358

358:                                              ; preds = %351, %355, %354, %339
  %359 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.133, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %360 unwind label %104

360:                                              ; preds = %358
  br i1 %359, label %364, label %361

361:                                              ; preds = %360
  %362 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.134, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %363 unwind label %104

363:                                              ; preds = %361
  br i1 %362, label %364, label %370

364:                                              ; preds = %363, %360
  %365 = load i32, ptr %5, align 4, !tbaa !10
  %366 = icmp ne i32 %365, 0
  %367 = load ptr, ptr %0, align 8, !tbaa !5
  %368 = getelementptr inbounds i8, ptr %367, i64 115
  %369 = zext i1 %366 to i8
  store i8 %369, ptr %368, align 1, !tbaa !27
  br label %383

370:                                              ; preds = %363
  %371 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.135)
          to label %372 unwind label %104

372:                                              ; preds = %370
  br i1 %371, label %376, label %373

373:                                              ; preds = %372
  %374 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.136)
          to label %375 unwind label %104

375:                                              ; preds = %373
  br i1 %374, label %376, label %379

376:                                              ; preds = %375, %372
  %377 = load ptr, ptr %0, align 8, !tbaa !5
  %378 = getelementptr inbounds i8, ptr %377, i64 115
  store i8 1, ptr %378, align 1, !tbaa !27
  br label %383

379:                                              ; preds = %375
  br i1 %3, label %380, label %383

380:                                              ; preds = %379
  %381 = load ptr, ptr %0, align 8, !tbaa !5
  %382 = getelementptr inbounds i8, ptr %381, i64 115
  store i8 0, ptr %382, align 1, !tbaa !27
  br label %383

383:                                              ; preds = %376, %380, %379, %364
  %384 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.137, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %385 unwind label %104

385:                                              ; preds = %383
  br i1 %384, label %389, label %386

386:                                              ; preds = %385
  %387 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.138, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %388 unwind label %104

388:                                              ; preds = %386
  br i1 %387, label %389, label %395

389:                                              ; preds = %388, %385
  %390 = load i32, ptr %5, align 4, !tbaa !10
  %391 = icmp ne i32 %390, 0
  %392 = load ptr, ptr %0, align 8, !tbaa !5
  %393 = getelementptr inbounds i8, ptr %392, i64 116
  %394 = zext i1 %391 to i8
  store i8 %394, ptr %393, align 4, !tbaa !28
  br label %408

395:                                              ; preds = %388
  %396 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.139)
          to label %397 unwind label %104

397:                                              ; preds = %395
  br i1 %396, label %401, label %398

398:                                              ; preds = %397
  %399 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.140)
          to label %400 unwind label %104

400:                                              ; preds = %398
  br i1 %399, label %401, label %404

401:                                              ; preds = %400, %397
  %402 = load ptr, ptr %0, align 8, !tbaa !5
  %403 = getelementptr inbounds i8, ptr %402, i64 116
  store i8 1, ptr %403, align 4, !tbaa !28
  br label %408

404:                                              ; preds = %400
  br i1 %3, label %405, label %408

405:                                              ; preds = %404
  %406 = load ptr, ptr %0, align 8, !tbaa !5
  %407 = getelementptr inbounds i8, ptr %406, i64 116
  store i8 0, ptr %407, align 4, !tbaa !28
  br label %408

408:                                              ; preds = %401, %405, %404, %389
  %409 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.141, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %410 unwind label %104

410:                                              ; preds = %408
  br i1 %409, label %414, label %411

411:                                              ; preds = %410
  %412 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.142, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %413 unwind label %104

413:                                              ; preds = %411
  br i1 %412, label %414, label %420

414:                                              ; preds = %413, %410
  %415 = load i32, ptr %5, align 4, !tbaa !10
  %416 = icmp ne i32 %415, 0
  %417 = load ptr, ptr %0, align 8, !tbaa !5
  %418 = getelementptr inbounds i8, ptr %417, i64 117
  %419 = zext i1 %416 to i8
  store i8 %419, ptr %418, align 1, !tbaa !29
  br label %433

420:                                              ; preds = %413
  %421 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.143)
          to label %422 unwind label %104

422:                                              ; preds = %420
  br i1 %421, label %426, label %423

423:                                              ; preds = %422
  %424 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.144)
          to label %425 unwind label %104

425:                                              ; preds = %423
  br i1 %424, label %426, label %429

426:                                              ; preds = %425, %422
  %427 = load ptr, ptr %0, align 8, !tbaa !5
  %428 = getelementptr inbounds i8, ptr %427, i64 117
  store i8 1, ptr %428, align 1, !tbaa !29
  br label %433

429:                                              ; preds = %425
  br i1 %3, label %430, label %433

430:                                              ; preds = %429
  %431 = load ptr, ptr %0, align 8, !tbaa !5
  %432 = getelementptr inbounds i8, ptr %431, i64 117
  store i8 0, ptr %432, align 1, !tbaa !29
  br label %433

433:                                              ; preds = %426, %430, %429, %414
  %434 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.145, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %435 unwind label %104

435:                                              ; preds = %433
  br i1 %434, label %439, label %436

436:                                              ; preds = %435
  %437 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.146, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %438 unwind label %104

438:                                              ; preds = %436
  br i1 %437, label %439, label %445

439:                                              ; preds = %438, %435
  %440 = load i32, ptr %5, align 4, !tbaa !10
  %441 = icmp ne i32 %440, 0
  %442 = load ptr, ptr %0, align 8, !tbaa !5
  %443 = getelementptr inbounds i8, ptr %442, i64 118
  %444 = zext i1 %441 to i8
  store i8 %444, ptr %443, align 2, !tbaa !30
  br label %458

445:                                              ; preds = %438
  %446 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.147)
          to label %447 unwind label %104

447:                                              ; preds = %445
  br i1 %446, label %451, label %448

448:                                              ; preds = %447
  %449 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.148)
          to label %450 unwind label %104

450:                                              ; preds = %448
  br i1 %449, label %451, label %454

451:                                              ; preds = %450, %447
  %452 = load ptr, ptr %0, align 8, !tbaa !5
  %453 = getelementptr inbounds i8, ptr %452, i64 118
  store i8 1, ptr %453, align 2, !tbaa !30
  br label %458

454:                                              ; preds = %450
  br i1 %3, label %455, label %458

455:                                              ; preds = %454
  %456 = load ptr, ptr %0, align 8, !tbaa !5
  %457 = getelementptr inbounds i8, ptr %456, i64 118
  store i8 0, ptr %457, align 2, !tbaa !30
  br label %458

458:                                              ; preds = %451, %455, %454, %439
  %459 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.149, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %460 unwind label %104

460:                                              ; preds = %458
  br i1 %459, label %464, label %461

461:                                              ; preds = %460
  %462 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.150, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %463 unwind label %104

463:                                              ; preds = %461
  br i1 %462, label %464, label %470

464:                                              ; preds = %463, %460
  %465 = load i32, ptr %5, align 4, !tbaa !10
  %466 = icmp ne i32 %465, 0
  %467 = load ptr, ptr %0, align 8, !tbaa !5
  %468 = getelementptr inbounds i8, ptr %467, i64 119
  %469 = zext i1 %466 to i8
  store i8 %469, ptr %468, align 1, !tbaa !31
  br label %483

470:                                              ; preds = %463
  %471 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.151)
          to label %472 unwind label %104

472:                                              ; preds = %470
  br i1 %471, label %476, label %473

473:                                              ; preds = %472
  %474 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.152)
          to label %475 unwind label %104

475:                                              ; preds = %473
  br i1 %474, label %476, label %479

476:                                              ; preds = %475, %472
  %477 = load ptr, ptr %0, align 8, !tbaa !5
  %478 = getelementptr inbounds i8, ptr %477, i64 119
  store i8 1, ptr %478, align 1, !tbaa !31
  br label %483

479:                                              ; preds = %475
  br i1 %3, label %480, label %483

480:                                              ; preds = %479
  %481 = load ptr, ptr %0, align 8, !tbaa !5
  %482 = getelementptr inbounds i8, ptr %481, i64 119
  store i8 0, ptr %482, align 1, !tbaa !31
  br label %483

483:                                              ; preds = %476, %480, %479, %464
  %484 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.153, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %485 unwind label %104

485:                                              ; preds = %483
  br i1 %484, label %489, label %486

486:                                              ; preds = %485
  %487 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.154, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %488 unwind label %104

488:                                              ; preds = %486
  br i1 %487, label %489, label %495

489:                                              ; preds = %488, %485
  %490 = load i32, ptr %5, align 4, !tbaa !10
  %491 = icmp ne i32 %490, 0
  %492 = load ptr, ptr %0, align 8, !tbaa !5
  %493 = getelementptr inbounds i8, ptr %492, i64 120
  %494 = zext i1 %491 to i8
  store i8 %494, ptr %493, align 8, !tbaa !32
  br label %508

495:                                              ; preds = %488
  %496 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.155)
          to label %497 unwind label %104

497:                                              ; preds = %495
  br i1 %496, label %501, label %498

498:                                              ; preds = %497
  %499 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.156)
          to label %500 unwind label %104

500:                                              ; preds = %498
  br i1 %499, label %501, label %504

501:                                              ; preds = %500, %497
  %502 = load ptr, ptr %0, align 8, !tbaa !5
  %503 = getelementptr inbounds i8, ptr %502, i64 120
  store i8 1, ptr %503, align 8, !tbaa !32
  br label %508

504:                                              ; preds = %500
  br i1 %3, label %505, label %508

505:                                              ; preds = %504
  %506 = load ptr, ptr %0, align 8, !tbaa !5
  %507 = getelementptr inbounds i8, ptr %506, i64 120
  store i8 0, ptr %507, align 8, !tbaa !32
  br label %508

508:                                              ; preds = %501, %505, %504, %489
  %509 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.157, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %510 unwind label %104

510:                                              ; preds = %508
  br i1 %509, label %514, label %511

511:                                              ; preds = %510
  %512 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.158, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %513 unwind label %104

513:                                              ; preds = %511
  br i1 %512, label %514, label %520

514:                                              ; preds = %513, %510
  %515 = load i32, ptr %5, align 4, !tbaa !10
  %516 = icmp ne i32 %515, 0
  %517 = load ptr, ptr %0, align 8, !tbaa !5
  %518 = getelementptr inbounds i8, ptr %517, i64 121
  %519 = zext i1 %516 to i8
  store i8 %519, ptr %518, align 1, !tbaa !33
  br label %533

520:                                              ; preds = %513
  %521 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.159)
          to label %522 unwind label %104

522:                                              ; preds = %520
  br i1 %521, label %526, label %523

523:                                              ; preds = %522
  %524 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.160)
          to label %525 unwind label %104

525:                                              ; preds = %523
  br i1 %524, label %526, label %529

526:                                              ; preds = %525, %522
  %527 = load ptr, ptr %0, align 8, !tbaa !5
  %528 = getelementptr inbounds i8, ptr %527, i64 121
  store i8 1, ptr %528, align 1, !tbaa !33
  br label %533

529:                                              ; preds = %525
  br i1 %3, label %530, label %533

530:                                              ; preds = %529
  %531 = load ptr, ptr %0, align 8, !tbaa !5
  %532 = getelementptr inbounds i8, ptr %531, i64 121
  store i8 0, ptr %532, align 1, !tbaa !33
  br label %533

533:                                              ; preds = %526, %530, %529, %514
  %534 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.161, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %535 unwind label %104

535:                                              ; preds = %533
  br i1 %534, label %539, label %536

536:                                              ; preds = %535
  %537 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.162, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %538 unwind label %104

538:                                              ; preds = %536
  br i1 %537, label %539, label %545

539:                                              ; preds = %538, %535
  %540 = load i32, ptr %5, align 4, !tbaa !10
  %541 = icmp ne i32 %540, 0
  %542 = load ptr, ptr %0, align 8, !tbaa !5
  %543 = getelementptr inbounds i8, ptr %542, i64 122
  %544 = zext i1 %541 to i8
  store i8 %544, ptr %543, align 2, !tbaa !34
  br label %558

545:                                              ; preds = %538
  %546 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.163)
          to label %547 unwind label %104

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

548:                                              ; preds = %547
  %549 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.164)
          to label %550 unwind label %104

550:                                              ; preds = %548
  br i1 %549, label %551, label %554

551:                                              ; preds = %550, %547
  %552 = load ptr, ptr %0, align 8, !tbaa !5
  %553 = getelementptr inbounds i8, ptr %552, i64 122
  store i8 1, ptr %553, align 2, !tbaa !34
  br label %558

554:                                              ; preds = %550
  br i1 %3, label %555, label %558

555:                                              ; preds = %554
  %556 = load ptr, ptr %0, align 8, !tbaa !5
  %557 = getelementptr inbounds i8, ptr %556, i64 122
  store i8 0, ptr %557, align 2, !tbaa !34
  br label %558

558:                                              ; preds = %551, %555, %554, %539
  %559 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.165, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %560 unwind label %104

560:                                              ; preds = %558
  br i1 %559, label %564, label %561

561:                                              ; preds = %560
  %562 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.166, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %563 unwind label %104

563:                                              ; preds = %561
  br i1 %562, label %564, label %570

564:                                              ; preds = %563, %560
  %565 = load i32, ptr %5, align 4, !tbaa !10
  %566 = icmp ne i32 %565, 0
  %567 = load ptr, ptr %0, align 8, !tbaa !5
  %568 = getelementptr inbounds i8, ptr %567, i64 123
  %569 = zext i1 %566 to i8
  store i8 %569, ptr %568, align 1, !tbaa !35
  br label %583

570:                                              ; preds = %563
  %571 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.167)
          to label %572 unwind label %104

572:                                              ; preds = %570
  br i1 %571, label %576, label %573

573:                                              ; preds = %572
  %574 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.168)
          to label %575 unwind label %104

575:                                              ; preds = %573
  br i1 %574, label %576, label %579

576:                                              ; preds = %575, %572
  %577 = load ptr, ptr %0, align 8, !tbaa !5
  %578 = getelementptr inbounds i8, ptr %577, i64 123
  store i8 1, ptr %578, align 1, !tbaa !35
  br label %583

579:                                              ; preds = %575
  br i1 %3, label %580, label %583

580:                                              ; preds = %579
  %581 = load ptr, ptr %0, align 8, !tbaa !5
  %582 = getelementptr inbounds i8, ptr %581, i64 123
  store i8 1, ptr %582, align 1, !tbaa !35
  br label %583

583:                                              ; preds = %576, %580, %579, %564
  %584 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.169, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %585 unwind label %104

585:                                              ; preds = %583
  br i1 %584, label %589, label %586

586:                                              ; preds = %585
  %587 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.170, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %588 unwind label %104

588:                                              ; preds = %586
  br i1 %587, label %589, label %595

589:                                              ; preds = %588, %585
  %590 = load i32, ptr %5, align 4, !tbaa !10
  %591 = icmp ne i32 %590, 0
  %592 = load ptr, ptr %0, align 8, !tbaa !5
  %593 = getelementptr inbounds i8, ptr %592, i64 124
  %594 = zext i1 %591 to i8
  store i8 %594, ptr %593, align 4, !tbaa !36
  br label %608

595:                                              ; preds = %588
  %596 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.171)
          to label %597 unwind label %104

597:                                              ; preds = %595
  br i1 %596, label %601, label %598

598:                                              ; preds = %597
  %599 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.172)
          to label %600 unwind label %104

600:                                              ; preds = %598
  br i1 %599, label %601, label %604

601:                                              ; preds = %600, %597
  %602 = load ptr, ptr %0, align 8, !tbaa !5
  %603 = getelementptr inbounds i8, ptr %602, i64 124
  store i8 1, ptr %603, align 4, !tbaa !36
  br label %608

604:                                              ; preds = %600
  br i1 %3, label %605, label %608

605:                                              ; preds = %604
  %606 = load ptr, ptr %0, align 8, !tbaa !5
  %607 = getelementptr inbounds i8, ptr %606, i64 124
  store i8 0, ptr %607, align 4, !tbaa !36
  br label %608

608:                                              ; preds = %601, %605, %604, %589
  %609 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.173, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %610 unwind label %104

610:                                              ; preds = %608
  br i1 %609, label %614, label %611

611:                                              ; preds = %610
  %612 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.174, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %613 unwind label %104

613:                                              ; preds = %611
  br i1 %612, label %614, label %620

614:                                              ; preds = %613, %610
  %615 = load i32, ptr %5, align 4, !tbaa !10
  %616 = icmp ne i32 %615, 0
  %617 = load ptr, ptr %0, align 8, !tbaa !5
  %618 = getelementptr inbounds i8, ptr %617, i64 125
  %619 = zext i1 %616 to i8
  store i8 %619, ptr %618, align 1, !tbaa !37
  br label %633

620:                                              ; preds = %613
  %621 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.175)
          to label %622 unwind label %104

622:                                              ; preds = %620
  br i1 %621, label %626, label %623

623:                                              ; preds = %622
  %624 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.176)
          to label %625 unwind label %104

625:                                              ; preds = %623
  br i1 %624, label %626, label %629

626:                                              ; preds = %625, %622
  %627 = load ptr, ptr %0, align 8, !tbaa !5
  %628 = getelementptr inbounds i8, ptr %627, i64 125
  store i8 1, ptr %628, align 1, !tbaa !37
  br label %633

629:                                              ; preds = %625
  br i1 %3, label %630, label %633

630:                                              ; preds = %629
  %631 = load ptr, ptr %0, align 8, !tbaa !5
  %632 = getelementptr inbounds i8, ptr %631, i64 125
  store i8 0, ptr %632, align 1, !tbaa !37
  br label %633

633:                                              ; preds = %626, %630, %629, %614
  %634 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.177, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %635 unwind label %104

635:                                              ; preds = %633
  br i1 %634, label %639, label %636

636:                                              ; preds = %635
  %637 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.178, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %638 unwind label %104

638:                                              ; preds = %636
  br i1 %637, label %639, label %645

639:                                              ; preds = %638, %635
  %640 = load i32, ptr %5, align 4, !tbaa !10
  %641 = icmp ne i32 %640, 0
  %642 = load ptr, ptr %0, align 8, !tbaa !5
  %643 = getelementptr inbounds i8, ptr %642, i64 126
  %644 = zext i1 %641 to i8
  store i8 %644, ptr %643, align 2, !tbaa !38
  br label %658

645:                                              ; preds = %638
  %646 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.179)
          to label %647 unwind label %104

647:                                              ; preds = %645
  br i1 %646, label %651, label %648

648:                                              ; preds = %647
  %649 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.180)
          to label %650 unwind label %104

650:                                              ; preds = %648
  br i1 %649, label %651, label %654

651:                                              ; preds = %650, %647
  %652 = load ptr, ptr %0, align 8, !tbaa !5
  %653 = getelementptr inbounds i8, ptr %652, i64 126
  store i8 1, ptr %653, align 2, !tbaa !38
  br label %658

654:                                              ; preds = %650
  br i1 %3, label %655, label %658

655:                                              ; preds = %654
  %656 = load ptr, ptr %0, align 8, !tbaa !5
  %657 = getelementptr inbounds i8, ptr %656, i64 126
  store i8 0, ptr %657, align 2, !tbaa !38
  br label %658

658:                                              ; preds = %651, %655, %654, %639
  %659 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.181, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %660 unwind label %104

660:                                              ; preds = %658
  br i1 %659, label %664, label %661

661:                                              ; preds = %660
  %662 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.182, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %663 unwind label %104

663:                                              ; preds = %661
  br i1 %662, label %664, label %670

664:                                              ; preds = %663, %660
  %665 = load i32, ptr %5, align 4, !tbaa !10
  %666 = icmp ne i32 %665, 0
  %667 = load ptr, ptr %0, align 8, !tbaa !5
  %668 = getelementptr inbounds i8, ptr %667, i64 127
  %669 = zext i1 %666 to i8
  store i8 %669, ptr %668, align 1, !tbaa !39
  br label %683

670:                                              ; preds = %663
  %671 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.183)
          to label %672 unwind label %104

672:                                              ; preds = %670
  br i1 %671, label %676, label %673

673:                                              ; preds = %672
  %674 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.184)
          to label %675 unwind label %104

675:                                              ; preds = %673
  br i1 %674, label %676, label %679

676:                                              ; preds = %675, %672
  %677 = load ptr, ptr %0, align 8, !tbaa !5
  %678 = getelementptr inbounds i8, ptr %677, i64 127
  store i8 1, ptr %678, align 1, !tbaa !39
  br label %683

679:                                              ; preds = %675
  br i1 %3, label %680, label %683

680:                                              ; preds = %679
  %681 = load ptr, ptr %0, align 8, !tbaa !5
  %682 = getelementptr inbounds i8, ptr %681, i64 127
  store i8 0, ptr %682, align 1, !tbaa !39
  br label %683

683:                                              ; preds = %676, %680, %679, %664
  %684 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.185, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %685 unwind label %104

685:                                              ; preds = %683
  br i1 %684, label %689, label %686

686:                                              ; preds = %685
  %687 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.186, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %688 unwind label %104

688:                                              ; preds = %686
  br i1 %687, label %689, label %695

689:                                              ; preds = %688, %685
  %690 = load i32, ptr %5, align 4, !tbaa !10
  %691 = icmp ne i32 %690, 0
  %692 = load ptr, ptr %0, align 8, !tbaa !5
  %693 = getelementptr inbounds i8, ptr %692, i64 128
  %694 = zext i1 %691 to i8
  store i8 %694, ptr %693, align 8, !tbaa !40
  br label %707

695:                                              ; preds = %688
  %696 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.187)
          to label %697 unwind label %104

697:                                              ; preds = %695
  br i1 %696, label %701, label %698

698:                                              ; preds = %697
  %699 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.188)
          to label %700 unwind label %104

700:                                              ; preds = %698
  br i1 %699, label %701, label %704

701:                                              ; preds = %700, %697
  %702 = load ptr, ptr %0, align 8, !tbaa !5
  %703 = getelementptr inbounds i8, ptr %702, i64 128
  store i8 1, ptr %703, align 8, !tbaa !40
  br label %707

704:                                              ; preds = %700
  br i1 %3, label %.thread323, label %.critedge321

.thread323:                                       ; preds = %704
  %705 = load ptr, ptr %0, align 8, !tbaa !5
  %706 = getelementptr inbounds i8, ptr %705, i64 128
  store i8 0, ptr %706, align 8, !tbaa !40
  br label %709

707:                                              ; preds = %701, %689
  %708 = phi ptr [ %702, %701 ], [ %692, %689 ]
  br i1 %3, label %709, label %.critedge321

709:                                              ; preds = %.thread323, %707
  %710 = phi ptr [ %705, %.thread323 ], [ %708, %707 ]
  %711 = getelementptr inbounds i8, ptr %710, i64 129
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(6) %711, i8 0, i64 6, i1 false)
  br label %.critedge321

.critedge321:                                     ; preds = %704, %709, %707
  %712 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.189)
          to label %713 unwind label %104

713:                                              ; preds = %.critedge321
  br i1 %712, label %720, label %714

714:                                              ; preds = %713
  %715 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.190)
          to label %716 unwind label %104

716:                                              ; preds = %714
  br i1 %715, label %720, label %717

717:                                              ; preds = %716
  %718 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.191)
          to label %719 unwind label %104

719:                                              ; preds = %717
  br i1 %718, label %720, label %724

720:                                              ; preds = %719, %716, %713
  %721 = load ptr, ptr %0, align 8, !tbaa !5
  %722 = getelementptr inbounds i8, ptr %721, i64 129
  store i8 1, ptr %722, align 1, !tbaa !41
  %723 = getelementptr inbounds i8, ptr %721, i64 110
  store i8 1, ptr %723, align 2, !tbaa !22
  br label %724

724:                                              ; preds = %720, %719
  %725 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.192)
          to label %726 unwind label %104

726:                                              ; preds = %724
  br i1 %725, label %730, label %727

727:                                              ; preds = %726
  %728 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.193)
          to label %729 unwind label %104

729:                                              ; preds = %727
  br i1 %728, label %730, label %734

730:                                              ; preds = %729, %726
  %731 = load ptr, ptr %0, align 8, !tbaa !5
  %732 = getelementptr inbounds i8, ptr %731, i64 130
  store i8 1, ptr %732, align 2, !tbaa !42
  %733 = getelementptr inbounds i8, ptr %731, i64 110
  store i8 1, ptr %733, align 2, !tbaa !22
  br label %734

734:                                              ; preds = %730, %729
  %735 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.194)
          to label %736 unwind label %104

736:                                              ; preds = %734
  br i1 %735, label %740, label %737

737:                                              ; preds = %736
  %738 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.195)
          to label %739 unwind label %104

739:                                              ; preds = %737
  br i1 %738, label %740, label %744

740:                                              ; preds = %739, %736
  %741 = load ptr, ptr %0, align 8, !tbaa !5
  %742 = getelementptr inbounds i8, ptr %741, i64 131
  store i8 1, ptr %742, align 1, !tbaa !43
  %743 = getelementptr inbounds i8, ptr %741, i64 110
  store i8 1, ptr %743, align 2, !tbaa !22
  br label %744

744:                                              ; preds = %740, %739
  %745 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.196)
          to label %746 unwind label %104

746:                                              ; preds = %744
  br i1 %745, label %750, label %747

747:                                              ; preds = %746
  %748 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.197)
          to label %749 unwind label %104

749:                                              ; preds = %747
  br i1 %748, label %750, label %754

750:                                              ; preds = %749, %746
  %751 = load ptr, ptr %0, align 8, !tbaa !5
  %752 = getelementptr inbounds i8, ptr %751, i64 132
  store i8 1, ptr %752, align 4, !tbaa !44
  %753 = getelementptr inbounds i8, ptr %751, i64 110
  store i8 1, ptr %753, align 2, !tbaa !22
  br label %754

754:                                              ; preds = %750, %749
  %755 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.198)
          to label %756 unwind label %104

756:                                              ; preds = %754
  br i1 %755, label %760, label %757

757:                                              ; preds = %756
  %758 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.199)
          to label %759 unwind label %104

759:                                              ; preds = %757
  br i1 %758, label %760, label %764

760:                                              ; preds = %759, %756
  %761 = load ptr, ptr %0, align 8, !tbaa !5
  %762 = getelementptr inbounds i8, ptr %761, i64 133
  store i8 1, ptr %762, align 1, !tbaa !45
  %763 = getelementptr inbounds i8, ptr %761, i64 110
  store i8 1, ptr %763, align 2, !tbaa !22
  br label %764

764:                                              ; preds = %760, %759
  %765 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.200)
          to label %766 unwind label %104

766:                                              ; preds = %764
  br i1 %765, label %770, label %767

767:                                              ; preds = %766
  %768 = invoke noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef %1, ptr noundef %2, ptr noundef nonnull @.str.201)
          to label %769 unwind label %104

769:                                              ; preds = %767
  br i1 %768, label %770, label %774

770:                                              ; preds = %769, %766
  %771 = load ptr, ptr %0, align 8, !tbaa !5
  %772 = getelementptr inbounds i8, ptr %771, i64 134
  store i8 1, ptr %772, align 2, !tbaa !46
  %773 = getelementptr inbounds i8, ptr %771, i64 110
  store i8 1, ptr %773, align 2, !tbaa !22
  br label %774

774:                                              ; preds = %770, %769
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #4
  ret void

775:                                              ; preds = %127, %104, %103
  %.pn315 = phi { ptr, i32 } [ %105, %104 ], [ %.pn311.pn.pn, %127 ], [ %.pn.pn.pn, %103 ]
  call void @_ZN7doctest6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #4
  resume { ptr, i32 } %.pn315
}

; Function Attrs: mustprogress uwtable
declare hidden noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_117parseCommaSepArgsEiPKPKcS2_RSt6vectorINS_6StringESaIS6_EE(i32 noundef, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare hidden noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_111parseOptionEiPKPKcS2_PNS_6StringERKS5_(i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare hidden noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_114parseIntOptionEiPKPKcS2_NS0_10optionTypeERi(i32 noundef, ptr noundef, ptr noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare hidden noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_19parseFlagEiPKPKcS2_(i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #1

declare void @_ZN7doctest6StringC1Ev(ptr) local_unnamed_addr

declare void @_ZN7doctest6StringD1Ev(ptr) local_unnamed_addr

declare void @_ZN7doctest6StringC1EPKc(ptr, ptr) local_unnamed_addr

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

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #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 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #4 = { nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !7, i64 0}
!6 = !{!"_ZTSN7doctest7ContextE", !7, i64 0}
!7 = !{!"any pointer", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!11, !11, i64 0}
!11 = !{!"int", !8, i64 0}
!12 = !{!13, !11, i64 88}
!13 = !{!"_ZTSN7doctest14ContextOptionsE", !7, i64 0, !14, i64 8, !7, i64 32, !14, i64 40, !14, i64 64, !11, i64 88, !11, i64 92, !11, i64 96, !11, i64 100, !11, i64 104, !15, i64 108, !15, i64 109, !15, i64 110, !15, i64 111, !15, i64 112, !15, i64 113, !15, i64 114, !15, i64 115, !15, i64 116, !15, i64 117, !15, i64 118, !15, i64 119, !15, i64 120, !15, i64 121, !15, i64 122, !15, i64 123, !15, i64 124, !15, i64 125, !15, i64 126, !15, i64 127, !15, i64 128, !15, i64 129, !15, i64 130, !15, i64 131, !15, i64 132, !15, i64 133, !15, i64 134}
!14 = !{!"_ZTSN7doctest6StringE", !8, i64 0}
!15 = !{!"bool", !8, i64 0}
!16 = !{!13, !11, i64 92}
!17 = !{!13, !11, i64 96}
!18 = !{!13, !11, i64 100}
!19 = !{!13, !11, i64 104}
!20 = !{!13, !15, i64 108}
!21 = !{!13, !15, i64 109}
!22 = !{!13, !15, i64 110}
!23 = !{!13, !15, i64 111}
!24 = !{!13, !15, i64 112}
!25 = !{!13, !15, i64 113}
!26 = !{!13, !15, i64 114}
!27 = !{!13, !15, i64 115}
!28 = !{!13, !15, i64 116}
!29 = !{!13, !15, i64 117}
!30 = !{!13, !15, i64 118}
!31 = !{!13, !15, i64 119}
!32 = !{!13, !15, i64 120}
!33 = !{!13, !15, i64 121}
!34 = !{!13, !15, i64 122}
!35 = !{!13, !15, i64 123}
!36 = !{!13, !15, i64 124}
!37 = !{!13, !15, i64 125}
!38 = !{!13, !15, i64 126}
!39 = !{!13, !15, i64 127}
!40 = !{!13, !15, i64 128}
!41 = !{!13, !15, i64 129}
!42 = !{!13, !15, i64 130}
!43 = !{!13, !15, i64 131}
!44 = !{!13, !15, i64 132}
!45 = !{!13, !15, i64 133}
!46 = !{!13, !15, i64 134}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,MemCpyOptPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass