; LLVM IR from fast-pack/PyFastPFor :: src (codecs)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%struct.option = type { ptr, i32, ptr, i32 }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.2" = type { %"struct.std::_Vector_base.3" }
%"struct.std::_Vector_base.3" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.FastPForLib::CODECFactory" = type { %"class.std::map" }
%"class.std::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<FastPForLib::IntegerCODEC>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<FastPForLib::IntegerCODEC>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<FastPForLib::IntegerCODEC>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<FastPForLib::IntegerCODEC>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::vector.13" = type { %"struct.std::_Vector_base.14" }
%"struct.std::_Vector_base.14" = type { %"struct.std::_Vector_base<std::shared_ptr<FastPForLib::IntegerCODEC>, std::allocator<std::shared_ptr<FastPForLib::IntegerCODEC>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<FastPForLib::IntegerCODEC>, std::allocator<std::shared_ptr<FastPForLib::IntegerCODEC>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<FastPForLib::IntegerCODEC>, std::allocator<std::shared_ptr<FastPForLib::IntegerCODEC>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<FastPForLib::IntegerCODEC>, std::allocator<std::shared_ptr<FastPForLib::IntegerCODEC>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.18" = type { %"struct.std::_Vector_base.19" }
%"struct.std::_Vector_base.19" = type { %"struct.std::_Vector_base<FastPForLib::algostats, std::allocator<FastPForLib::algostats>>::_Vector_impl" }
%"struct.std::_Vector_base<FastPForLib::algostats, std::allocator<FastPForLib::algostats>>::_Vector_impl" = type { %"struct.std::_Vector_base<FastPForLib::algostats, std::allocator<FastPForLib::algostats>>::_Vector_impl_data" }
%"struct.std::_Vector_base<FastPForLib::algostats, std::allocator<FastPForLib::algostats>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator.23" = type { ptr }
%"struct.FastPForLib::algostats" = type <{ %"class.std::shared_ptr", %"class.std::vector.0", %"class.std::vector.0", %"class.std::vector.0", %"class.std::vector.0", %"class.std::vector.0", double, double, double, double, i64, i64, i8, [7 x i8] }>
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::vector.0" = type { %"struct.std::_Vector_base.1" }
%"struct.std::_Vector_base.1" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.7" = type { i8 }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.std::vector.24" = type { %"struct.std::_Vector_base.25" }
%"struct.std::_Vector_base.25" = type { %"struct.std::_Vector_base<std::vector<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>, std::allocator<std::vector<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>, std::allocator<std::vector<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>, std::allocator<std::vector<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>, std::allocator<std::vector<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.FastPForLib::processparameters" = type { i8, i8, i8, i8, i8, i8 }
%"class.FastPForLib::UniformDataGenerator" = type { %"class.FastPForLib::ZRandom" }
%"class.FastPForLib::ZRandom" = type <{ [625 x i32], [4 x i8], [624 x ptr], i32, [4 x i8] }>
%"class.FastPForLib::ClusteredDataGenerator" = type { %"class.FastPForLib::UniformDataGenerator" }

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@_ZL12long_options = external hidden global [24 x %struct.option], align 16
@.str.10 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [65 x i8], align 1
@optarg = external global ptr, align 8
@.str.12 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [2 x i8], align 1
@optind = external global i32, align 4
@.str.17 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [23 x i8], align 1
@_ZSt4cerr = external global %"class.std::basic_ostream", align 8
@.str.48 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [16 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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11FastPForLib22generateZipfianArray32Ejdj(ptr dead_on_unwind noalias writable sret(%"class.std::vector") align 8, i32 noundef, double noundef, i32 noundef) #2

; Function Attrs: nounwind
declare i64 @time(ptr noundef) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11FastPForLib5splitERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr dead_on_unwind noalias writable sret(%"class.std::vector.2") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #2

; Function Attrs: mustprogress uwtable
declare void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, i64 noundef) #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z7messagev() #2

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

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

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

; Function Attrs: nounwind willreturn memory(read)
declare i32 @strcmp(ptr noundef, ptr noundef) #5

declare void @_ZN11FastPForLib12CODECFactoryC1Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #6

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8)) #1 align 2

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

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr noundef %1) #8 personality ptr @__gxx_personality_v0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i8, align 1
  %7 = alloca i8, align 1
  %8 = alloca i8, align 1
  %9 = alloca i8, align 1
  %10 = alloca %"class.FastPForLib::CODECFactory", align 8
  %11 = alloca %"class.std::vector.13", align 8
  %12 = alloca ptr, align 8
  %13 = alloca i32, align 4
  %14 = alloca %"class.std::vector.18", align 8
  %15 = alloca ptr, align 8
  %16 = alloca %"class.__gnu_cxx::__normal_iterator.23", align 8
  %17 = alloca %"class.__gnu_cxx::__normal_iterator.23", align 8
  %18 = alloca ptr, align 8
  %19 = alloca %"struct.FastPForLib::algostats", align 8
  %20 = alloca %"struct.FastPForLib::algostats", align 8
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::allocator.7", align 1
  %26 = alloca %"class.std::vector.2", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::allocator.7", align 1
  %29 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %30 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %31 = alloca %"struct.FastPForLib::algostats", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"struct.FastPForLib::algostats", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca ptr, align 8
  %37 = alloca i32, align 4
  %38 = alloca %"class.std::vector.24", align 8
  %39 = alloca i32, align 4
  %40 = alloca %"class.std::vector", align 8
  %41 = alloca %"struct.FastPForLib::processparameters", align 1
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::allocator.7", align 1
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::allocator.7", align 1
  %46 = alloca i32, align 4
  %47 = alloca %"class.std::vector.24", align 8
  %48 = alloca i32, align 4
  %49 = alloca %"class.std::vector", align 8
  %50 = alloca %"struct.FastPForLib::processparameters", align 1
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::allocator.7", align 1
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::allocator.7", align 1
  %55 = alloca %"class.std::vector.24", align 8
  %56 = alloca %"class.FastPForLib::UniformDataGenerator", align 8
  %57 = alloca i32, align 4
  %58 = alloca %"class.std::vector", align 8
  %59 = alloca %"struct.FastPForLib::processparameters", align 1
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::allocator.7", align 1
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::allocator.7", align 1
  %64 = alloca %"class.std::vector.24", align 8
  %65 = alloca %"class.FastPForLib::UniformDataGenerator", align 8
  %66 = alloca i32, align 4
  %67 = alloca %"class.std::vector", align 8
  %68 = alloca %"struct.FastPForLib::processparameters", align 1
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca %"class.std::allocator.7", align 1
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::allocator.7", align 1
  %73 = alloca %"class.std::vector.24", align 8
  %74 = alloca %"class.FastPForLib::ClusteredDataGenerator", align 8
  %75 = alloca i32, align 4
  %76 = alloca %"class.std::vector", align 8
  %77 = alloca %"struct.FastPForLib::processparameters", align 1
  %78 = alloca %"class.std::__cxx11::basic_string", align 8
  %79 = alloca %"class.std::allocator.7", align 1
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca %"class.std::allocator.7", align 1
  %82 = alloca %"class.std::vector.24", align 8
  %83 = alloca %"class.FastPForLib::ClusteredDataGenerator", align 8
  %84 = alloca i32, align 4
  %85 = alloca %"class.std::vector", align 8
  %86 = alloca %"struct.FastPForLib::processparameters", align 1
  %87 = alloca %"class.std::__cxx11::basic_string", align 8
  %88 = alloca %"class.std::allocator.7", align 1
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.std::allocator.7", align 1
  %91 = alloca %"class.std::vector.24", align 8
  %92 = alloca %"class.FastPForLib::UniformDataGenerator", align 8
  %93 = alloca i32, align 4
  %94 = alloca %"class.std::vector", align 8
  %95 = alloca %"struct.FastPForLib::processparameters", align 1
  %96 = alloca %"class.std::__cxx11::basic_string", align 8
  %97 = alloca %"class.std::allocator.7", align 1
  %98 = alloca %"class.std::__cxx11::basic_string", align 8
  %99 = alloca %"class.std::allocator.7", align 1
  %100 = alloca %"class.std::vector.24", align 8
  %101 = alloca %"class.FastPForLib::UniformDataGenerator", align 8
  %102 = alloca i32, align 4
  %103 = alloca %"class.std::vector", align 8
  %104 = alloca %"struct.FastPForLib::processparameters", align 1
  %105 = alloca %"class.std::__cxx11::basic_string", align 8
  %106 = alloca %"class.std::allocator.7", align 1
  %107 = alloca %"class.std::__cxx11::basic_string", align 8
  %108 = alloca %"class.std::allocator.7", align 1
  %109 = alloca %"class.std::vector.24", align 8
  %110 = alloca %"class.FastPForLib::ClusteredDataGenerator", align 8
  %111 = alloca i32, align 4
  %112 = alloca %"class.std::vector", align 8
  %113 = alloca %"struct.FastPForLib::processparameters", align 1
  %114 = alloca %"class.std::__cxx11::basic_string", align 8
  %115 = alloca %"class.std::allocator.7", align 1
  %116 = alloca %"class.std::__cxx11::basic_string", align 8
  %117 = alloca %"class.std::allocator.7", align 1
  %118 = alloca %"class.std::vector.24", align 8
  %119 = alloca %"class.FastPForLib::ClusteredDataGenerator", align 8
  %120 = alloca i32, align 4
  %121 = alloca %"class.std::vector", align 8
  %122 = alloca %"struct.FastPForLib::processparameters", align 1
  %123 = alloca %"class.std::__cxx11::basic_string", align 8
  %124 = alloca %"class.std::allocator.7", align 1
  %125 = alloca %"class.std::__cxx11::basic_string", align 8
  %126 = alloca %"class.std::allocator.7", align 1
  %127 = alloca %"class.FastPForLib::ClusteredDataGenerator", align 8
  %128 = alloca i32, align 4
  %129 = alloca %"class.std::vector.24", align 8
  %130 = alloca i32, align 4
  %131 = alloca %"class.std::vector", align 8
  %132 = alloca i32, align 4
  %133 = alloca %"struct.FastPForLib::processparameters", align 1
  %134 = alloca %"class.std::__cxx11::basic_string", align 8
  %135 = alloca %"class.std::__cxx11::basic_string", align 8
  %136 = alloca %"class.std::allocator.7", align 1
  %137 = alloca %"class.FastPForLib::UniformDataGenerator", align 8
  %138 = alloca i32, align 4
  %139 = alloca %"class.std::vector.24", align 8
  %140 = alloca i32, align 4
  %141 = alloca %"class.std::vector", align 8
  %142 = alloca i32, align 4
  %143 = alloca %"struct.FastPForLib::processparameters", align 1
  %144 = alloca %"class.std::__cxx11::basic_string", align 8
  %145 = alloca %"class.std::__cxx11::basic_string", align 8
  %146 = alloca %"class.std::allocator.7", align 1
  %147 = alloca %"class.FastPForLib::ClusteredDataGenerator", align 8
  %148 = alloca i32, align 4
  %149 = alloca %"class.std::vector.24", align 8
  %150 = alloca i64, align 8
  %151 = alloca %"class.std::vector", align 8
  %152 = alloca i32, align 4
  %153 = alloca %"struct.FastPForLib::processparameters", align 1
  %154 = alloca %"class.std::__cxx11::basic_string", align 8
  %155 = alloca %"class.std::__cxx11::basic_string", align 8
  %156 = alloca %"class.std::allocator.7", align 1
  %157 = alloca %"class.FastPForLib::UniformDataGenerator", align 8
  %158 = alloca i32, align 4
  %159 = alloca %"class.std::vector.24", align 8
  %160 = alloca i64, align 8
  %161 = alloca %"class.std::vector", align 8
  %162 = alloca i32, align 4
  %163 = alloca %"struct.FastPForLib::processparameters", align 1
  %164 = alloca %"class.std::__cxx11::basic_string", align 8
  %165 = alloca %"class.std::__cxx11::basic_string", align 8
  %166 = alloca %"class.std::allocator.7", align 1
  %167 = alloca %"class.FastPForLib::ClusteredDataGenerator", align 8
  %168 = alloca i32, align 4
  %169 = alloca %"class.std::vector.24", align 8
  %170 = alloca i64, align 8
  %171 = alloca %"class.std::vector", align 8
  %172 = alloca %"class.std::vector", align 8
  %173 = alloca i32, align 4
  %174 = alloca %"struct.FastPForLib::processparameters", align 1
  %175 = alloca %"class.std::__cxx11::basic_string", align 8
  %176 = alloca %"class.std::__cxx11::basic_string", align 8
  %177 = alloca %"class.std::allocator.7", align 1
  %178 = alloca %"class.FastPForLib::UniformDataGenerator", align 8
  %179 = alloca i32, align 4
  %180 = alloca %"class.std::vector.24", align 8
  %181 = alloca i64, align 8
  %182 = alloca %"class.std::vector", align 8
  %183 = alloca %"class.std::vector", align 8
  %184 = alloca i32, align 4
  %185 = alloca %"struct.FastPForLib::processparameters", align 1
  %186 = alloca %"class.std::__cxx11::basic_string", align 8
  %187 = alloca %"class.std::__cxx11::basic_string", align 8
  %188 = alloca %"class.std::allocator.7", align 1
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  call void @srand(i32 noundef 10) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %6) #9
  store i8 1, ptr %6, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %7) #9
  store i8 0, ptr %7, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %8) #9
  store i8 0, ptr %8, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %9) #9
  store i8 1, ptr %9, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 48, ptr %10) #9
  call void @_ZN11FastPForLib12CODECFactoryC1Ev(ptr noundef nonnull align 8 dereferenceable(48) %10)
  call void @llvm.lifetime.start.p0(i64 24, ptr %11) #9
  invoke void @_ZN11FastPForLib12CODECFactory10allSchemesEv(ptr dead_on_unwind writable sret(%"class.std::vector.13") align 8 %11, ptr noundef nonnull align 8 dereferenceable(48) %10)
          to label %189 unwind label %199

189:                                              ; preds = %2
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #9
  call void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #9
  store ptr %11, ptr %15, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #9
  %190 = load ptr, ptr %15, align 8, !tbaa !9
  %191 = call ptr @_ZNSt6vectorISt10shared_ptrIN11FastPForLib12IntegerCODECEESaIS3_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %190) #9
  %192 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.23", ptr %16, i32 0, i32 0
  store ptr %191, ptr %192, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #9
  %193 = load ptr, ptr %15, align 8, !tbaa !9
  %194 = call ptr @_ZNSt6vectorISt10shared_ptrIN11FastPForLib12IntegerCODECEESaIS3_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %193) #9
  %195 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.23", ptr %17, i32 0, i32 0
  store ptr %194, ptr %195, align 8
  br label %196

196:                                              ; preds = %211, %189
  %197 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt10shared_ptrIN11FastPForLib12IntegerCODECEESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %17) #9
  br i1 %197, label %203, label %198

198:                                              ; preds = %196
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #9
  br label %232

199:                                              ; preds = %2
  %200 = landingpad { ptr, i32 }
          cleanup
  %201 = extractvalue { ptr, i32 } %200, 0
  store ptr %201, ptr %12, align 8
  %202 = extractvalue { ptr, i32 } %200, 1
  store i32 %202, ptr %13, align 4
  br label %1975

203:                                              ; preds = %196
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #9
  %204 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN11FastPForLib12IntegerCODECEESt6vectorIS4_SaIS4_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %16) #9
  store ptr %204, ptr %18, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 192, ptr %19) #9
  %205 = load ptr, ptr %18, align 8, !tbaa !9
  invoke void @_ZN11FastPForLib9algostatsC2ERSt10shared_ptrINS_12IntegerCODECEEb(ptr noundef nonnull align 8 dereferenceable(185) %19, ptr noundef nonnull align 8 dereferenceable(16) %205, i1 noundef zeroext false)
          to label %206 unwind label %213

206:                                              ; preds = %203
  invoke void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(185) %19)
          to label %207 unwind label %217

207:                                              ; preds = %206
  call void @_ZN11FastPForLib9algostatsD2Ev(ptr noundef nonnull align 8 dereferenceable(185) %19) #9
  call void @llvm.lifetime.end.p0(i64 192, ptr %19) #9
  call void @llvm.lifetime.start.p0(i64 192, ptr %20) #9
  %208 = load ptr, ptr %18, align 8, !tbaa !9
  invoke void @_ZN11FastPForLib9algostatsC2ERSt10shared_ptrINS_12IntegerCODECEEb(ptr noundef nonnull align 8 dereferenceable(185) %20, ptr noundef nonnull align 8 dereferenceable(16) %208, i1 noundef zeroext true)
          to label %209 unwind label %222

209:                                              ; preds = %207
  invoke void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(185) %20)
          to label %210 unwind label %226

210:                                              ; preds = %209
  call void @_ZN11FastPForLib9algostatsD2Ev(ptr noundef nonnull align 8 dereferenceable(185) %20) #9
  call void @llvm.lifetime.end.p0(i64 192, ptr %20) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #9
  br label %211

211:                                              ; preds = %210
  %212 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN11FastPForLib12IntegerCODECEESt6vectorIS4_SaIS4_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %16) #9
  br label %196

213:                                              ; preds = %203
  %214 = landingpad { ptr, i32 }
          cleanup
  %215 = extractvalue { ptr, i32 } %214, 0
  store ptr %215, ptr %12, align 8
  %216 = extractvalue { ptr, i32 } %214, 1
  store i32 %216, ptr %13, align 4
  br label %221

217:                                              ; preds = %206
  %218 = landingpad { ptr, i32 }
          cleanup
  %219 = extractvalue { ptr, i32 } %218, 0
  store ptr %219, ptr %12, align 8
  %220 = extractvalue { ptr, i32 } %218, 1
  store i32 %220, ptr %13, align 4
  call void @_ZN11FastPForLib9algostatsD2Ev(ptr noundef nonnull align 8 dereferenceable(185) %19) #9
  br label %221

221:                                              ; preds = %217, %213
  call void @llvm.lifetime.end.p0(i64 192, ptr %19) #9
  br label %231

222:                                              ; preds = %207
  %223 = landingpad { ptr, i32 }
          cleanup
  %224 = extractvalue { ptr, i32 } %223, 0
  store ptr %224, ptr %12, align 8
  %225 = extractvalue { ptr, i32 } %223, 1
  store i32 %225, ptr %13, align 4
  br label %230

226:                                              ; preds = %209
  %227 = landingpad { ptr, i32 }
          cleanup
  %228 = extractvalue { ptr, i32 } %227, 0
  store ptr %228, ptr %12, align 8
  %229 = extractvalue { ptr, i32 } %227, 1
  store i32 %229, ptr %13, align 4
  call void @_ZN11FastPForLib9algostatsD2Ev(ptr noundef nonnull align 8 dereferenceable(185) %20) #9
  br label %230

230:                                              ; preds = %226, %222
  call void @llvm.lifetime.end.p0(i64 192, ptr %20) #9
  br label %231

231:                                              ; preds = %230, %221
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #9
  br label %1974

232:                                              ; preds = %198
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #9
  br label %233

233:                                              ; preds = %1963, %232
  br label %234

234:                                              ; preds = %233
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #9
  store i32 0, ptr %22, align 4, !tbaa !5
  %235 = load i32, ptr %4, align 4, !tbaa !5
  %236 = load ptr, ptr %5, align 8, !tbaa !9
  %237 = call i32 @getopt_long(i32 noundef %235, ptr noundef %236, ptr noundef @.str.10, ptr noundef @_ZL12long_options, ptr noundef %22) #9
  store i32 %237, ptr %21, align 4, !tbaa !5
  %238 = load i32, ptr %21, align 4, !tbaa !5
  %239 = icmp eq i32 %238, -1
  br i1 %239, label %240, label %241

240:                                              ; preds = %234
  store i32 5, ptr %23, align 4
  br label %1961

241:                                              ; preds = %234
  %242 = load i32, ptr %21, align 4, !tbaa !5
  switch i32 %242, label %1959 [
    i32 83, label %243
    i32 99, label %252
    i32 101, label %370
    i32 72, label %371
    i32 115, label %372
    i32 102, label %373
    i32 0, label %374
  ]

243:                                              ; preds = %241
  %244 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.11)
          to label %245 unwind label %248

245:                                              ; preds = %243
  %246 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %244, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %247 unwind label %248

247:                                              ; preds = %245
  store i8 0, ptr %9, align 1, !tbaa !11
  br label %1960

248:                                              ; preds = %382, %380, %378, %245, %243
  %249 = landingpad { ptr, i32 }
          cleanup
  %250 = extractvalue { ptr, i32 } %249, 0
  store ptr %250, ptr %12, align 8
  %251 = extractvalue { ptr, i32 } %249, 1
  store i32 %251, ptr %13, align 4
  br label %1964

252:                                              ; preds = %241
  call void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #9
  %253 = load ptr, ptr @optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %25) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef %253, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %254 unwind label %267

254:                                              ; preds = %252
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #9
  %255 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef @.str.12) #9
  %256 = icmp ne i32 %255, 0
  br i1 %256, label %257, label %368

257:                                              ; preds = %254
  call void @llvm.lifetime.start.p0(i64 24, ptr %26) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef @.str.13, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %258 unwind label %271

258:                                              ; preds = %257
  invoke void @_ZN11FastPForLib5splitERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr dead_on_unwind writable sret(%"class.std::vector.2") align 8 %26, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %259 unwind label %275

259:                                              ; preds = %258
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #9
  %260 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #9
  %261 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %29, i32 0, i32 0
  store ptr %260, ptr %261, align 8
  br label %262

262:                                              ; preds = %354, %259
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #9
  %263 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #9
  %264 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %30, i32 0, i32 0
  store ptr %263, ptr %264, align 8
  %265 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull align 8 dereferenceable(8) %30) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #9
  br i1 %265, label %280, label %266

266:                                              ; preds = %262
  store i32 7, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #9
  br label %366

267:                                              ; preds = %252
  %268 = landingpad { ptr, i32 }
          cleanup
  %269 = extractvalue { ptr, i32 } %268, 0
  store ptr %269, ptr %12, align 8
  %270 = extractvalue { ptr, i32 } %268, 1
  store i32 %270, ptr %13, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #9
  br label %369

271:                                              ; preds = %257
  %272 = landingpad { ptr, i32 }
          cleanup
  %273 = extractvalue { ptr, i32 } %272, 0
  store ptr %273, ptr %12, align 8
  %274 = extractvalue { ptr, i32 } %272, 1
  store i32 %274, ptr %13, align 4
  br label %279

275:                                              ; preds = %258
  %276 = landingpad { ptr, i32 }
          cleanup
  %277 = extractvalue { ptr, i32 } %276, 0
  store ptr %277, ptr %12, align 8
  %278 = extractvalue { ptr, i32 } %276, 1
  store i32 %278, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #9
  br label %279

279:                                              ; preds = %275, %271
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #9
  br label %367

280:                                              ; preds = %262
  %281 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.14)
          to label %282 unwind label %304

282:                                              ; preds = %280
  %283 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #9
  %284 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %281, ptr noundef nonnull align 8 dereferenceable(32) %283)
          to label %285 unwind label %304

285:                                              ; preds = %282
  %286 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %284, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %287 unwind label %304

287:                                              ; preds = %285
  %288 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #9
  %289 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEm(ptr noundef nonnull align 8 dereferenceable(32) %288, i64 noundef 0)
          to label %290 unwind label %304

290:                                              ; preds = %287
  %291 = load i8, ptr %289, align 1, !tbaa !13
  %292 = sext i8 %291 to i32
  %293 = icmp eq i32 %292, 64
  br i1 %293, label %294, label %322

294:                                              ; preds = %290
  call void @llvm.lifetime.start.p0(i64 192, ptr %31) #9
  %295 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #9
  %296 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #9
  %297 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %296) #9
  %298 = sub i64 %297, 1
  invoke void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 8 dereferenceable(32) %295, i64 noundef 1, i64 noundef %298)
          to label %299 unwind label %308

299:                                              ; preds = %294
  %300 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN11FastPForLib12CODECFactory11getFromNameENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(48) %10, ptr noundef %32)
          to label %301 unwind label %312

301:                                              ; preds = %299
  invoke void @_ZN11FastPForLib9algostatsC2ERSt10shared_ptrINS_12IntegerCODECEEb(ptr noundef nonnull align 8 dereferenceable(185) %31, ptr noundef nonnull align 8 dereferenceable(16) %300, i1 noundef zeroext true)
          to label %302 unwind label %312

302:                                              ; preds = %301
  invoke void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(185) %31)
          to label %303 unwind label %316

303:                                              ; preds = %302
  call void @_ZN11FastPForLib9algostatsD2Ev(ptr noundef nonnull align 8 dereferenceable(185) %31) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #9
  call void @llvm.lifetime.end.p0(i64 192, ptr %31) #9
  br label %343

304:                                              ; preds = %343, %287, %285, %282, %280
  %305 = landingpad { ptr, i32 }
          cleanup
  %306 = extractvalue { ptr, i32 } %305, 0
  store ptr %306, ptr %12, align 8
  %307 = extractvalue { ptr, i32 } %305, 1
  store i32 %307, ptr %13, align 4
  br label %365

308:                                              ; preds = %294
  %309 = landingpad { ptr, i32 }
          cleanup
  %310 = extractvalue { ptr, i32 } %309, 0
  store ptr %310, ptr %12, align 8
  %311 = extractvalue { ptr, i32 } %309, 1
  store i32 %311, ptr %13, align 4
  br label %321

312:                                              ; preds = %301, %299
  %313 = landingpad { ptr, i32 }
          cleanup
  %314 = extractvalue { ptr, i32 } %313, 0
  store ptr %314, ptr %12, align 8
  %315 = extractvalue { ptr, i32 } %313, 1
  store i32 %315, ptr %13, align 4
  br label %320

316:                                              ; preds = %302
  %317 = landingpad { ptr, i32 }
          cleanup
  %318 = extractvalue { ptr, i32 } %317, 0
  store ptr %318, ptr %12, align 8
  %319 = extractvalue { ptr, i32 } %317, 1
  store i32 %319, ptr %13, align 4
  call void @_ZN11FastPForLib9algostatsD2Ev(ptr noundef nonnull align 8 dereferenceable(185) %31) #9
  br label %320

320:                                              ; preds = %316, %312
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #9
  br label %321

321:                                              ; preds = %320, %308
  call void @llvm.lifetime.end.p0(i64 192, ptr %31) #9
  br label %365

322:                                              ; preds = %290
  call void @llvm.lifetime.start.p0(i64 192, ptr %33) #9
  %323 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(32) %323)
          to label %324 unwind label %329

324:                                              ; preds = %322
  %325 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN11FastPForLib12CODECFactory11getFromNameENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(48) %10, ptr noundef %34)
          to label %326 unwind label %333

326:                                              ; preds = %324
  invoke void @_ZN11FastPForLib9algostatsC2ERSt10shared_ptrINS_12IntegerCODECEEb(ptr noundef nonnull align 8 dereferenceable(185) %33, ptr noundef nonnull align 8 dereferenceable(16) %325, i1 noundef zeroext false)
          to label %327 unwind label %333

327:                                              ; preds = %326
  invoke void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(185) %33)
          to label %328 unwind label %337

328:                                              ; preds = %327
  call void @_ZN11FastPForLib9algostatsD2Ev(ptr noundef nonnull align 8 dereferenceable(185) %33) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #9
  call void @llvm.lifetime.end.p0(i64 192, ptr %33) #9
  br label %343

329:                                              ; preds = %322
  %330 = landingpad { ptr, i32 }
          cleanup
  %331 = extractvalue { ptr, i32 } %330, 0
  store ptr %331, ptr %12, align 8
  %332 = extractvalue { ptr, i32 } %330, 1
  store i32 %332, ptr %13, align 4
  br label %342

333:                                              ; preds = %326, %324
  %334 = landingpad { ptr, i32 }
          cleanup
  %335 = extractvalue { ptr, i32 } %334, 0
  store ptr %335, ptr %12, align 8
  %336 = extractvalue { ptr, i32 } %334, 1
  store i32 %336, ptr %13, align 4
  br label %341

337:                                              ; preds = %327
  %338 = landingpad { ptr, i32 }
          cleanup
  %339 = extractvalue { ptr, i32 } %338, 0
  store ptr %339, ptr %12, align 8
  %340 = extractvalue { ptr, i32 } %338, 1
  store i32 %340, ptr %13, align 4
  call void @_ZN11FastPForLib9algostatsD2Ev(ptr noundef nonnull align 8 dereferenceable(185) %33) #9
  br label %341

341:                                              ; preds = %337, %333
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #9
  br label %342

342:                                              ; preds = %341, %329
  call void @llvm.lifetime.end.p0(i64 192, ptr %33) #9
  br label %365

343:                                              ; preds = %328, %303
  %344 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.15)
          to label %345 unwind label %304

345:                                              ; preds = %343
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #9
  %346 = call noundef nonnull align 8 dereferenceable(185) ptr @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #9
  invoke void @_ZN11FastPForLib9algostats4nameB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 8 dereferenceable(185) %346)
          to label %347 unwind label %356

347:                                              ; preds = %345
  %348 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %344, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %349 unwind label %360

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

351:                                              ; preds = %349
  %352 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %350, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %353 unwind label %360

353:                                              ; preds = %351
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #9
  br label %354

354:                                              ; preds = %353
  %355 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #9
  br label %262, !llvm.loop !14

356:                                              ; preds = %345
  %357 = landingpad { ptr, i32 }
          cleanup
  %358 = extractvalue { ptr, i32 } %357, 0
  store ptr %358, ptr %12, align 8
  %359 = extractvalue { ptr, i32 } %357, 1
  store i32 %359, ptr %13, align 4
  br label %364

360:                                              ; preds = %351, %349, %347
  %361 = landingpad { ptr, i32 }
          cleanup
  %362 = extractvalue { ptr, i32 } %361, 0
  store ptr %362, ptr %12, align 8
  %363 = extractvalue { ptr, i32 } %361, 1
  store i32 %363, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #9
  br label %364

364:                                              ; preds = %360, %356
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #9
  br label %365

365:                                              ; preds = %364, %342, %321, %304
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #9
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #9
  br label %367

366:                                              ; preds = %266
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #9
  br label %368

367:                                              ; preds = %365, %279
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #9
  br label %369

368:                                              ; preds = %366, %254
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #9
  br label %1960

369:                                              ; preds = %367, %267
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #9
  br label %1964

370:                                              ; preds = %241
  store i8 1, ptr %8, align 1, !tbaa !11
  br label %1960

371:                                              ; preds = %241
  store i8 1, ptr %7, align 1, !tbaa !11
  br label %1960

372:                                              ; preds = %241
  store i8 0, ptr %6, align 1, !tbaa !11
  br label %1960

373:                                              ; preds = %241
  store i8 1, ptr %6, align 1, !tbaa !11
  br label %1960

374:                                              ; preds = %241
  %375 = load i32, ptr @optind, align 4, !tbaa !5
  %376 = load i32, ptr %4, align 4, !tbaa !5
  %377 = icmp slt i32 %375, %376
  br i1 %377, label %378, label %384

378:                                              ; preds = %374
  %379 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.17)
          to label %380 unwind label %248

380:                                              ; preds = %378
  %381 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %379, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %382 unwind label %248

382:                                              ; preds = %380
  invoke void @_Z7messagev()
          to label %383 unwind label %248

383:                                              ; preds = %382
  store i32 0, ptr %3, align 4
  store i32 1, ptr %23, align 4
  br label %1961

384:                                              ; preds = %374
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #9
  %385 = load i32, ptr %22, align 4, !tbaa !5
  %386 = sext i32 %385 to i64
  %387 = getelementptr inbounds [24 x %struct.option], ptr @_ZL12long_options, i64 0, i64 %386
  %388 = getelementptr inbounds %struct.option, ptr %387, i32 0, i32 0
  %389 = load ptr, ptr %388, align 16, !tbaa !16
  store ptr %389, ptr %36, align 8, !tbaa !9
  %390 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.18)
          to label %391 unwind label %409

391:                                              ; preds = %384
  %392 = load ptr, ptr %36, align 8, !tbaa !9
  %393 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %390, ptr noundef %392)
          to label %394 unwind label %409

394:                                              ; preds = %391
  %395 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %393, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %396 unwind label %409

396:                                              ; preds = %394
  %397 = load ptr, ptr %36, align 8, !tbaa !9
  %398 = call i32 @strcmp(ptr noundef %397, ptr noundef @.str.19) #10
  %399 = icmp eq i32 %398, 0
  br i1 %399, label %400, label %473

400:                                              ; preds = %396
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #9
  store i32 67108864, ptr %37, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %38) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #9
  %401 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.20)
          to label %402 unwind label %413

402:                                              ; preds = %400
  %403 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %401, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %404 unwind label %413

404:                                              ; preds = %402
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #9
  store i32 0, ptr %39, align 4, !tbaa !5
  br label %405

405:                                              ; preds = %420, %404
  %406 = load i32, ptr %39, align 4, !tbaa !5
  %407 = icmp ult i32 %406, 2
  br i1 %407, label %417, label %408

408:                                              ; preds = %405
  store i32 10, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #9
  br label %432

409:                                              ; preds = %1937, %1935, %1932, %1930, %1815, %1813, %1694, %1692, %1579, %1577, %1464, %1462, %1350, %1348, %1236, %1234, %1151, %1149, %1066, %1064, %981, %979, %896, %894, %811, %809, %726, %724, %641, %639, %556, %554, %394, %391, %384
  %410 = landingpad { ptr, i32 }
          cleanup
  %411 = extractvalue { ptr, i32 } %410, 0
  store ptr %411, ptr %12, align 8
  %412 = extractvalue { ptr, i32 } %410, 1
  store i32 %412, ptr %13, align 4
  br label %1958

413:                                              ; preds = %435, %402, %400
  %414 = landingpad { ptr, i32 }
          cleanup
  %415 = extractvalue { ptr, i32 } %414, 0
  store ptr %415, ptr %12, align 8
  %416 = extractvalue { ptr, i32 } %414, 1
  store i32 %416, ptr %13, align 4
  br label %472

417:                                              ; preds = %405
  call void @llvm.lifetime.start.p0(i64 24, ptr %40) #9
  invoke void @_ZN11FastPForLib22generateZipfianArray32Ejdj(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %40, i32 noundef 67108864, double noundef 1.000000e+00, i32 noundef 1048576)
          to label %418 unwind label %423

418:                                              ; preds = %417
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull align 8 dereferenceable(24) %40)
          to label %419 unwind label %427

419:                                              ; preds = %418
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #9
  br label %420

420:                                              ; preds = %419
  %421 = load i32, ptr %39, align 4, !tbaa !5
  %422 = add i32 %421, 1
  store i32 %422, ptr %39, align 4, !tbaa !5
  br label %405, !llvm.loop !18

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

427:                                              ; preds = %418
  %428 = landingpad { ptr, i32 }
          cleanup
  %429 = extractvalue { ptr, i32 } %428, 0
  store ptr %429, ptr %12, align 8
  %430 = extractvalue { ptr, i32 } %428, 1
  store i32 %430, ptr %13, align 4
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #9
  br label %431

431:                                              ; preds = %427, %423
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #9
  br label %472

432:                                              ; preds = %408
  %433 = load i8, ptr %9, align 1, !tbaa !11, !range !19, !noundef !20
  %434 = trunc i8 %433 to i1
  br i1 %434, label %435, label %437

435:                                              ; preds = %432
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %38, i64 noundef 65536)
          to label %436 unwind label %413

436:                                              ; preds = %435
  br label %437

437:                                              ; preds = %436, %432
  call void @llvm.lifetime.start.p0(i64 6, ptr %41) #9
  %438 = load i8, ptr %6, align 1, !tbaa !11, !range !19, !noundef !20
  %439 = trunc i8 %438 to i1
  %440 = load i8, ptr %7, align 1, !tbaa !11, !range !19, !noundef !20
  %441 = trunc i8 %440 to i1
  %442 = load i8, ptr %8, align 1, !tbaa !11, !range !19, !noundef !20
  %443 = trunc i8 %442 to i1
  invoke void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %41, i1 noundef zeroext false, i1 noundef zeroext %439, i1 noundef zeroext %441, i1 noundef zeroext %443, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %444 unwind label %449

444:                                              ; preds = %437
  call void @llvm.lifetime.start.p0(i64 1, ptr %43) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %43)
          to label %445 unwind label %453

445:                                              ; preds = %444
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull align 1 dereferenceable(6) %41, ptr noundef %42)
          to label %446 unwind label %457

446:                                              ; preds = %445
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %45) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %447 unwind label %462

447:                                              ; preds = %446
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %44)
          to label %448 unwind label %466

448:                                              ; preds = %447
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 6, ptr %41) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #9
  br label %1956

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

453:                                              ; preds = %444
  %454 = landingpad { ptr, i32 }
          cleanup
  %455 = extractvalue { ptr, i32 } %454, 0
  store ptr %455, ptr %12, align 8
  %456 = extractvalue { ptr, i32 } %454, 1
  store i32 %456, ptr %13, align 4
  br label %461

457:                                              ; preds = %445
  %458 = landingpad { ptr, i32 }
          cleanup
  %459 = extractvalue { ptr, i32 } %458, 0
  store ptr %459, ptr %12, align 8
  %460 = extractvalue { ptr, i32 } %458, 1
  store i32 %460, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #9
  br label %461

461:                                              ; preds = %457, %453
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #9
  br label %471

462:                                              ; preds = %446
  %463 = landingpad { ptr, i32 }
          cleanup
  %464 = extractvalue { ptr, i32 } %463, 0
  store ptr %464, ptr %12, align 8
  %465 = extractvalue { ptr, i32 } %463, 1
  store i32 %465, ptr %13, align 4
  br label %470

466:                                              ; preds = %447
  %467 = landingpad { ptr, i32 }
          cleanup
  %468 = extractvalue { ptr, i32 } %467, 0
  store ptr %468, ptr %12, align 8
  %469 = extractvalue { ptr, i32 } %467, 1
  store i32 %469, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #9
  br label %470

470:                                              ; preds = %466, %462
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #9
  br label %471

471:                                              ; preds = %470, %461, %449
  call void @llvm.lifetime.end.p0(i64 6, ptr %41) #9
  br label %472

472:                                              ; preds = %471, %431, %413
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #9
  br label %1958

473:                                              ; preds = %396
  %474 = load ptr, ptr %36, align 8, !tbaa !9
  %475 = call i32 @strcmp(ptr noundef %474, ptr noundef @.str.23) #10
  %476 = icmp eq i32 %475, 0
  br i1 %476, label %477, label %550

477:                                              ; preds = %473
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #9
  store i32 67108864, ptr %46, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %47) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #9
  store i32 0, ptr %48, align 4, !tbaa !5
  br label %478

478:                                              ; preds = %487, %477
  %479 = load i32, ptr %48, align 4, !tbaa !5
  %480 = icmp ult i32 %479, 2
  br i1 %480, label %482, label %481

481:                                              ; preds = %478
  store i32 13, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  br label %494

482:                                              ; preds = %478
  %483 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.24)
          to label %484 unwind label %490

484:                                              ; preds = %482
  %485 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %483, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %486 unwind label %490

486:                                              ; preds = %484
  br label %487

487:                                              ; preds = %486
  %488 = load i32, ptr %48, align 4, !tbaa !5
  %489 = add i32 %488, 1
  store i32 %489, ptr %48, align 4, !tbaa !5
  br label %478, !llvm.loop !21

490:                                              ; preds = %484, %482
  %491 = landingpad { ptr, i32 }
          cleanup
  %492 = extractvalue { ptr, i32 } %491, 0
  store ptr %492, ptr %12, align 8
  %493 = extractvalue { ptr, i32 } %491, 1
  store i32 %493, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  br label %549

494:                                              ; preds = %481
  call void @llvm.lifetime.start.p0(i64 24, ptr %49) #9
  invoke void @_ZN11FastPForLib22generateZipfianArray32Ejdj(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %49, i32 noundef 67108864, double noundef 2.000000e+00, i32 noundef 1048576)
          to label %495 unwind label %501

495:                                              ; preds = %494
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %47, ptr noundef nonnull align 8 dereferenceable(24) %49)
          to label %496 unwind label %505

496:                                              ; preds = %495
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %49) #9
  %497 = load i8, ptr %9, align 1, !tbaa !11, !range !19, !noundef !20
  %498 = trunc i8 %497 to i1
  br i1 %498, label %499, label %514

499:                                              ; preds = %496
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef 65536)
          to label %500 unwind label %510

500:                                              ; preds = %499
  br label %514

501:                                              ; preds = %494
  %502 = landingpad { ptr, i32 }
          cleanup
  %503 = extractvalue { ptr, i32 } %502, 0
  store ptr %503, ptr %12, align 8
  %504 = extractvalue { ptr, i32 } %502, 1
  store i32 %504, ptr %13, align 4
  br label %509

505:                                              ; preds = %495
  %506 = landingpad { ptr, i32 }
          cleanup
  %507 = extractvalue { ptr, i32 } %506, 0
  store ptr %507, ptr %12, align 8
  %508 = extractvalue { ptr, i32 } %506, 1
  store i32 %508, ptr %13, align 4
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #9
  br label %509

509:                                              ; preds = %505, %501
  call void @llvm.lifetime.end.p0(i64 24, ptr %49) #9
  br label %549

510:                                              ; preds = %499
  %511 = landingpad { ptr, i32 }
          cleanup
  %512 = extractvalue { ptr, i32 } %511, 0
  store ptr %512, ptr %12, align 8
  %513 = extractvalue { ptr, i32 } %511, 1
  store i32 %513, ptr %13, align 4
  br label %549

514:                                              ; preds = %500, %496
  call void @llvm.lifetime.start.p0(i64 6, ptr %50) #9
  %515 = load i8, ptr %6, align 1, !tbaa !11, !range !19, !noundef !20
  %516 = trunc i8 %515 to i1
  %517 = load i8, ptr %7, align 1, !tbaa !11, !range !19, !noundef !20
  %518 = trunc i8 %517 to i1
  %519 = load i8, ptr %8, align 1, !tbaa !11, !range !19, !noundef !20
  %520 = trunc i8 %519 to i1
  invoke void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %50, i1 noundef zeroext false, i1 noundef zeroext %516, i1 noundef zeroext %518, i1 noundef zeroext %520, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %521 unwind label %526

521:                                              ; preds = %514
  call void @llvm.lifetime.start.p0(i64 1, ptr %52) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %522 unwind label %530

522:                                              ; preds = %521
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %47, ptr noundef nonnull align 1 dereferenceable(6) %50, ptr noundef %51)
          to label %523 unwind label %534

523:                                              ; preds = %522
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %524 unwind label %539

524:                                              ; preds = %523
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %53)
          to label %525 unwind label %543

525:                                              ; preds = %524
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 6, ptr %50) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %47) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #9
  br label %1956

526:                                              ; preds = %514
  %527 = landingpad { ptr, i32 }
          cleanup
  %528 = extractvalue { ptr, i32 } %527, 0
  store ptr %528, ptr %12, align 8
  %529 = extractvalue { ptr, i32 } %527, 1
  store i32 %529, ptr %13, align 4
  br label %548

530:                                              ; preds = %521
  %531 = landingpad { ptr, i32 }
          cleanup
  %532 = extractvalue { ptr, i32 } %531, 0
  store ptr %532, ptr %12, align 8
  %533 = extractvalue { ptr, i32 } %531, 1
  store i32 %533, ptr %13, align 4
  br label %538

534:                                              ; preds = %522
  %535 = landingpad { ptr, i32 }
          cleanup
  %536 = extractvalue { ptr, i32 } %535, 0
  store ptr %536, ptr %12, align 8
  %537 = extractvalue { ptr, i32 } %535, 1
  store i32 %537, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #9
  br label %538

538:                                              ; preds = %534, %530
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #9
  br label %548

539:                                              ; preds = %523
  %540 = landingpad { ptr, i32 }
          cleanup
  %541 = extractvalue { ptr, i32 } %540, 0
  store ptr %541, ptr %12, align 8
  %542 = extractvalue { ptr, i32 } %540, 1
  store i32 %542, ptr %13, align 4
  br label %547

543:                                              ; preds = %524
  %544 = landingpad { ptr, i32 }
          cleanup
  %545 = extractvalue { ptr, i32 } %544, 0
  store ptr %545, ptr %12, align 8
  %546 = extractvalue { ptr, i32 } %544, 1
  store i32 %546, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #9
  br label %547

547:                                              ; preds = %543, %539
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #9
  br label %548

548:                                              ; preds = %547, %538, %526
  call void @llvm.lifetime.end.p0(i64 6, ptr %50) #9
  br label %549

549:                                              ; preds = %548, %510, %509, %490
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %47) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #9
  br label %1958

550:                                              ; preds = %473
  %551 = load ptr, ptr %36, align 8, !tbaa !9
  %552 = call i32 @strcmp(ptr noundef %551, ptr noundef @.str.25) #10
  %553 = icmp eq i32 %552, 0
  br i1 %553, label %554, label %635

554:                                              ; preds = %550
  %555 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.26)
          to label %556 unwind label %409

556:                                              ; preds = %554
  %557 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %555, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %558 unwind label %409

558:                                              ; preds = %556
  call void @llvm.lifetime.start.p0(i64 24, ptr %55) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #9
  call void @llvm.lifetime.start.p0(i64 7504, ptr %56) #9
  %559 = call i64 @time(ptr noundef null) #9
  %560 = trunc i64 %559 to i32
  invoke void @_ZN11FastPForLib20UniformDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %56, i32 noundef %560)
          to label %561 unwind label %566

561:                                              ; preds = %558
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #9
  store i32 0, ptr %57, align 4, !tbaa !5
  br label %562

562:                                              ; preds = %573, %561
  %563 = load i32, ptr %57, align 4, !tbaa !5
  %564 = icmp ult i32 %563, 32
  br i1 %564, label %570, label %565

565:                                              ; preds = %562
  store i32 16, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  br label %585

566:                                              ; preds = %597, %592, %590, %587, %585, %558
  %567 = landingpad { ptr, i32 }
          cleanup
  %568 = extractvalue { ptr, i32 } %567, 0
  store ptr %568, ptr %12, align 8
  %569 = extractvalue { ptr, i32 } %567, 1
  store i32 %569, ptr %13, align 4
  br label %634

570:                                              ; preds = %562
  call void @llvm.lifetime.start.p0(i64 24, ptr %58) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %58, ptr noundef nonnull align 8 dereferenceable(7504) %56, i32 noundef 262144, i32 noundef 134217728)
          to label %571 unwind label %576

571:                                              ; preds = %570
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %55, ptr noundef nonnull align 8 dereferenceable(24) %58)
          to label %572 unwind label %580

572:                                              ; preds = %571
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %58) #9
  br label %573

573:                                              ; preds = %572
  %574 = load i32, ptr %57, align 4, !tbaa !5
  %575 = add i32 %574, 1
  store i32 %575, ptr %57, align 4, !tbaa !5
  br label %562, !llvm.loop !22

576:                                              ; preds = %570
  %577 = landingpad { ptr, i32 }
          cleanup
  %578 = extractvalue { ptr, i32 } %577, 0
  store ptr %578, ptr %12, align 8
  %579 = extractvalue { ptr, i32 } %577, 1
  store i32 %579, ptr %13, align 4
  br label %584

580:                                              ; preds = %571
  %581 = landingpad { ptr, i32 }
          cleanup
  %582 = extractvalue { ptr, i32 } %581, 0
  store ptr %582, ptr %12, align 8
  %583 = extractvalue { ptr, i32 } %581, 1
  store i32 %583, ptr %13, align 4
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #9
  br label %584

584:                                              ; preds = %580, %576
  call void @llvm.lifetime.end.p0(i64 24, ptr %58) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  br label %634

585:                                              ; preds = %565
  %586 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.27)
          to label %587 unwind label %566

587:                                              ; preds = %585
  %588 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %55) #9
  %589 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %586, i64 noundef %588)
          to label %590 unwind label %566

590:                                              ; preds = %587
  %591 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %589, ptr noundef @.str.28)
          to label %592 unwind label %566

592:                                              ; preds = %590
  %593 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %591, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %594 unwind label %566

594:                                              ; preds = %592
  %595 = load i8, ptr %9, align 1, !tbaa !11, !range !19, !noundef !20
  %596 = trunc i8 %595 to i1
  br i1 %596, label %597, label %599

597:                                              ; preds = %594
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %55, i64 noundef 65536)
          to label %598 unwind label %566

598:                                              ; preds = %597
  br label %599

599:                                              ; preds = %598, %594
  call void @llvm.lifetime.start.p0(i64 6, ptr %59) #9
  %600 = load i8, ptr %6, align 1, !tbaa !11, !range !19, !noundef !20
  %601 = trunc i8 %600 to i1
  %602 = load i8, ptr %7, align 1, !tbaa !11, !range !19, !noundef !20
  %603 = trunc i8 %602 to i1
  %604 = load i8, ptr %8, align 1, !tbaa !11, !range !19, !noundef !20
  %605 = trunc i8 %604 to i1
  invoke void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %59, i1 noundef zeroext true, i1 noundef zeroext %601, i1 noundef zeroext %603, i1 noundef zeroext %605, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %606 unwind label %611

606:                                              ; preds = %599
  call void @llvm.lifetime.start.p0(i64 1, ptr %61) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %61)
          to label %607 unwind label %615

607:                                              ; preds = %606
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %55, ptr noundef nonnull align 1 dereferenceable(6) %59, ptr noundef %60)
          to label %608 unwind label %619

608:                                              ; preds = %607
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %63) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %63)
          to label %609 unwind label %624

609:                                              ; preds = %608
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %62)
          to label %610 unwind label %628

610:                                              ; preds = %609
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 6, ptr %59) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr %56) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %55) #9
  br label %1956

611:                                              ; preds = %599
  %612 = landingpad { ptr, i32 }
          cleanup
  %613 = extractvalue { ptr, i32 } %612, 0
  store ptr %613, ptr %12, align 8
  %614 = extractvalue { ptr, i32 } %612, 1
  store i32 %614, ptr %13, align 4
  br label %633

615:                                              ; preds = %606
  %616 = landingpad { ptr, i32 }
          cleanup
  %617 = extractvalue { ptr, i32 } %616, 0
  store ptr %617, ptr %12, align 8
  %618 = extractvalue { ptr, i32 } %616, 1
  store i32 %618, ptr %13, align 4
  br label %623

619:                                              ; preds = %607
  %620 = landingpad { ptr, i32 }
          cleanup
  %621 = extractvalue { ptr, i32 } %620, 0
  store ptr %621, ptr %12, align 8
  %622 = extractvalue { ptr, i32 } %620, 1
  store i32 %622, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #9
  br label %623

623:                                              ; preds = %619, %615
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #9
  br label %633

624:                                              ; preds = %608
  %625 = landingpad { ptr, i32 }
          cleanup
  %626 = extractvalue { ptr, i32 } %625, 0
  store ptr %626, ptr %12, align 8
  %627 = extractvalue { ptr, i32 } %625, 1
  store i32 %627, ptr %13, align 4
  br label %632

628:                                              ; preds = %609
  %629 = landingpad { ptr, i32 }
          cleanup
  %630 = extractvalue { ptr, i32 } %629, 0
  store ptr %630, ptr %12, align 8
  %631 = extractvalue { ptr, i32 } %629, 1
  store i32 %631, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #9
  br label %632

632:                                              ; preds = %628, %624
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #9
  br label %633

633:                                              ; preds = %632, %623, %611
  call void @llvm.lifetime.end.p0(i64 6, ptr %59) #9
  br label %634

634:                                              ; preds = %633, %584, %566
  call void @llvm.lifetime.end.p0(i64 7504, ptr %56) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %55) #9
  br label %1958

635:                                              ; preds = %550
  %636 = load ptr, ptr %36, align 8, !tbaa !9
  %637 = call i32 @strcmp(ptr noundef %636, ptr noundef @.str.29) #10
  %638 = icmp eq i32 %637, 0
  br i1 %638, label %639, label %720

639:                                              ; preds = %635
  %640 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.30)
          to label %641 unwind label %409

641:                                              ; preds = %639
  %642 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %640, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %643 unwind label %409

643:                                              ; preds = %641
  call void @llvm.lifetime.start.p0(i64 24, ptr %64) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #9
  call void @llvm.lifetime.start.p0(i64 7504, ptr %65) #9
  %644 = call i64 @time(ptr noundef null) #9
  %645 = trunc i64 %644 to i32
  invoke void @_ZN11FastPForLib20UniformDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %65, i32 noundef %645)
          to label %646 unwind label %651

646:                                              ; preds = %643
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #9
  store i32 0, ptr %66, align 4, !tbaa !5
  br label %647

647:                                              ; preds = %658, %646
  %648 = load i32, ptr %66, align 4, !tbaa !5
  %649 = icmp ult i32 %648, 16384
  br i1 %649, label %655, label %650

650:                                              ; preds = %647
  store i32 19, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #9
  br label %670

651:                                              ; preds = %682, %677, %675, %672, %670, %643
  %652 = landingpad { ptr, i32 }
          cleanup
  %653 = extractvalue { ptr, i32 } %652, 0
  store ptr %653, ptr %12, align 8
  %654 = extractvalue { ptr, i32 } %652, 1
  store i32 %654, ptr %13, align 4
  br label %719

655:                                              ; preds = %647
  call void @llvm.lifetime.start.p0(i64 24, ptr %67) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %67, ptr noundef nonnull align 8 dereferenceable(7504) %65, i32 noundef 512, i32 noundef 134217728)
          to label %656 unwind label %661

656:                                              ; preds = %655
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %64, ptr noundef nonnull align 8 dereferenceable(24) %67)
          to label %657 unwind label %665

657:                                              ; preds = %656
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %67) #9
  br label %658

658:                                              ; preds = %657
  %659 = load i32, ptr %66, align 4, !tbaa !5
  %660 = add i32 %659, 1
  store i32 %660, ptr %66, align 4, !tbaa !5
  br label %647, !llvm.loop !23

661:                                              ; preds = %655
  %662 = landingpad { ptr, i32 }
          cleanup
  %663 = extractvalue { ptr, i32 } %662, 0
  store ptr %663, ptr %12, align 8
  %664 = extractvalue { ptr, i32 } %662, 1
  store i32 %664, ptr %13, align 4
  br label %669

665:                                              ; preds = %656
  %666 = landingpad { ptr, i32 }
          cleanup
  %667 = extractvalue { ptr, i32 } %666, 0
  store ptr %667, ptr %12, align 8
  %668 = extractvalue { ptr, i32 } %666, 1
  store i32 %668, ptr %13, align 4
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #9
  br label %669

669:                                              ; preds = %665, %661
  call void @llvm.lifetime.end.p0(i64 24, ptr %67) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #9
  br label %719

670:                                              ; preds = %650
  %671 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.27)
          to label %672 unwind label %651

672:                                              ; preds = %670
  %673 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %64) #9
  %674 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %671, i64 noundef %673)
          to label %675 unwind label %651

675:                                              ; preds = %672
  %676 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %674, ptr noundef @.str.28)
          to label %677 unwind label %651

677:                                              ; preds = %675
  %678 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %676, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %679 unwind label %651

679:                                              ; preds = %677
  %680 = load i8, ptr %9, align 1, !tbaa !11, !range !19, !noundef !20
  %681 = trunc i8 %680 to i1
  br i1 %681, label %682, label %684

682:                                              ; preds = %679
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %64, i64 noundef 65536)
          to label %683 unwind label %651

683:                                              ; preds = %682
  br label %684

684:                                              ; preds = %683, %679
  call void @llvm.lifetime.start.p0(i64 6, ptr %68) #9
  %685 = load i8, ptr %6, align 1, !tbaa !11, !range !19, !noundef !20
  %686 = trunc i8 %685 to i1
  %687 = load i8, ptr %7, align 1, !tbaa !11, !range !19, !noundef !20
  %688 = trunc i8 %687 to i1
  %689 = load i8, ptr %8, align 1, !tbaa !11, !range !19, !noundef !20
  %690 = trunc i8 %689 to i1
  invoke void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %68, i1 noundef zeroext true, i1 noundef zeroext %686, i1 noundef zeroext %688, i1 noundef zeroext %690, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %691 unwind label %696

691:                                              ; preds = %684
  call void @llvm.lifetime.start.p0(i64 1, ptr %70) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %70)
          to label %692 unwind label %700

692:                                              ; preds = %691
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %64, ptr noundef nonnull align 1 dereferenceable(6) %68, ptr noundef %69)
          to label %693 unwind label %704

693:                                              ; preds = %692
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %72) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %72)
          to label %694 unwind label %709

694:                                              ; preds = %693
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %71)
          to label %695 unwind label %713

695:                                              ; preds = %694
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %72) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 6, ptr %68) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr %65) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %64) #9
  br label %1956

696:                                              ; preds = %684
  %697 = landingpad { ptr, i32 }
          cleanup
  %698 = extractvalue { ptr, i32 } %697, 0
  store ptr %698, ptr %12, align 8
  %699 = extractvalue { ptr, i32 } %697, 1
  store i32 %699, ptr %13, align 4
  br label %718

700:                                              ; preds = %691
  %701 = landingpad { ptr, i32 }
          cleanup
  %702 = extractvalue { ptr, i32 } %701, 0
  store ptr %702, ptr %12, align 8
  %703 = extractvalue { ptr, i32 } %701, 1
  store i32 %703, ptr %13, align 4
  br label %708

704:                                              ; preds = %692
  %705 = landingpad { ptr, i32 }
          cleanup
  %706 = extractvalue { ptr, i32 } %705, 0
  store ptr %706, ptr %12, align 8
  %707 = extractvalue { ptr, i32 } %705, 1
  store i32 %707, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #9
  br label %708

708:                                              ; preds = %704, %700
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #9
  br label %718

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

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

717:                                              ; preds = %713, %709
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %72) #9
  br label %718

718:                                              ; preds = %717, %708, %696
  call void @llvm.lifetime.end.p0(i64 6, ptr %68) #9
  br label %719

719:                                              ; preds = %718, %669, %651
  call void @llvm.lifetime.end.p0(i64 7504, ptr %65) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %64) #9
  br label %1958

720:                                              ; preds = %635
  %721 = load ptr, ptr %36, align 8, !tbaa !9
  %722 = call i32 @strcmp(ptr noundef %721, ptr noundef @.str.31) #10
  %723 = icmp eq i32 %722, 0
  br i1 %723, label %724, label %805

724:                                              ; preds = %720
  %725 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.32)
          to label %726 unwind label %409

726:                                              ; preds = %724
  %727 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %725, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %728 unwind label %409

728:                                              ; preds = %726
  call void @llvm.lifetime.start.p0(i64 24, ptr %73) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %73) #9
  call void @llvm.lifetime.start.p0(i64 7504, ptr %74) #9
  %729 = call i64 @time(ptr noundef null) #9
  %730 = trunc i64 %729 to i32
  invoke void @_ZN11FastPForLib22ClusteredDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %74, i32 noundef %730)
          to label %731 unwind label %736

731:                                              ; preds = %728
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #9
  store i32 0, ptr %75, align 4, !tbaa !5
  br label %732

732:                                              ; preds = %743, %731
  %733 = load i32, ptr %75, align 4, !tbaa !5
  %734 = icmp ult i32 %733, 32
  br i1 %734, label %740, label %735

735:                                              ; preds = %732
  store i32 22, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #9
  br label %755

736:                                              ; preds = %767, %762, %760, %757, %755, %728
  %737 = landingpad { ptr, i32 }
          cleanup
  %738 = extractvalue { ptr, i32 } %737, 0
  store ptr %738, ptr %12, align 8
  %739 = extractvalue { ptr, i32 } %737, 1
  store i32 %739, ptr %13, align 4
  br label %804

740:                                              ; preds = %732
  call void @llvm.lifetime.start.p0(i64 24, ptr %76) #9
  invoke void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %76, ptr noundef nonnull align 8 dereferenceable(7504) %74, i32 noundef 262144, i32 noundef 134217728)
          to label %741 unwind label %746

741:                                              ; preds = %740
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %73, ptr noundef nonnull align 8 dereferenceable(24) %76)
          to label %742 unwind label %750

742:                                              ; preds = %741
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %76) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %76) #9
  br label %743

743:                                              ; preds = %742
  %744 = load i32, ptr %75, align 4, !tbaa !5
  %745 = add i32 %744, 1
  store i32 %745, ptr %75, align 4, !tbaa !5
  br label %732, !llvm.loop !24

746:                                              ; preds = %740
  %747 = landingpad { ptr, i32 }
          cleanup
  %748 = extractvalue { ptr, i32 } %747, 0
  store ptr %748, ptr %12, align 8
  %749 = extractvalue { ptr, i32 } %747, 1
  store i32 %749, ptr %13, align 4
  br label %754

750:                                              ; preds = %741
  %751 = landingpad { ptr, i32 }
          cleanup
  %752 = extractvalue { ptr, i32 } %751, 0
  store ptr %752, ptr %12, align 8
  %753 = extractvalue { ptr, i32 } %751, 1
  store i32 %753, ptr %13, align 4
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %76) #9
  br label %754

754:                                              ; preds = %750, %746
  call void @llvm.lifetime.end.p0(i64 24, ptr %76) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #9
  br label %804

755:                                              ; preds = %735
  %756 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.27)
          to label %757 unwind label %736

757:                                              ; preds = %755
  %758 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %73) #9
  %759 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %756, i64 noundef %758)
          to label %760 unwind label %736

760:                                              ; preds = %757
  %761 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %759, ptr noundef @.str.28)
          to label %762 unwind label %736

762:                                              ; preds = %760
  %763 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %761, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %764 unwind label %736

764:                                              ; preds = %762
  %765 = load i8, ptr %9, align 1, !tbaa !11, !range !19, !noundef !20
  %766 = trunc i8 %765 to i1
  br i1 %766, label %767, label %769

767:                                              ; preds = %764
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %73, i64 noundef 65536)
          to label %768 unwind label %736

768:                                              ; preds = %767
  br label %769

769:                                              ; preds = %768, %764
  call void @llvm.lifetime.start.p0(i64 6, ptr %77) #9
  %770 = load i8, ptr %6, align 1, !tbaa !11, !range !19, !noundef !20
  %771 = trunc i8 %770 to i1
  %772 = load i8, ptr %7, align 1, !tbaa !11, !range !19, !noundef !20
  %773 = trunc i8 %772 to i1
  %774 = load i8, ptr %8, align 1, !tbaa !11, !range !19, !noundef !20
  %775 = trunc i8 %774 to i1
  invoke void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %77, i1 noundef zeroext true, i1 noundef zeroext %771, i1 noundef zeroext %773, i1 noundef zeroext %775, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %776 unwind label %781

776:                                              ; preds = %769
  call void @llvm.lifetime.start.p0(i64 1, ptr %79) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %79)
          to label %777 unwind label %785

777:                                              ; preds = %776
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %73, ptr noundef nonnull align 1 dereferenceable(6) %77, ptr noundef %78)
          to label %778 unwind label %789

778:                                              ; preds = %777
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %81) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %81)
          to label %779 unwind label %794

779:                                              ; preds = %778
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %80)
          to label %780 unwind label %798

780:                                              ; preds = %779
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %81) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 6, ptr %77) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr %74) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %73) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %73) #9
  br label %1956

781:                                              ; preds = %769
  %782 = landingpad { ptr, i32 }
          cleanup
  %783 = extractvalue { ptr, i32 } %782, 0
  store ptr %783, ptr %12, align 8
  %784 = extractvalue { ptr, i32 } %782, 1
  store i32 %784, ptr %13, align 4
  br label %803

785:                                              ; preds = %776
  %786 = landingpad { ptr, i32 }
          cleanup
  %787 = extractvalue { ptr, i32 } %786, 0
  store ptr %787, ptr %12, align 8
  %788 = extractvalue { ptr, i32 } %786, 1
  store i32 %788, ptr %13, align 4
  br label %793

789:                                              ; preds = %777
  %790 = landingpad { ptr, i32 }
          cleanup
  %791 = extractvalue { ptr, i32 } %790, 0
  store ptr %791, ptr %12, align 8
  %792 = extractvalue { ptr, i32 } %790, 1
  store i32 %792, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #9
  br label %793

793:                                              ; preds = %789, %785
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #9
  br label %803

794:                                              ; preds = %778
  %795 = landingpad { ptr, i32 }
          cleanup
  %796 = extractvalue { ptr, i32 } %795, 0
  store ptr %796, ptr %12, align 8
  %797 = extractvalue { ptr, i32 } %795, 1
  store i32 %797, ptr %13, align 4
  br label %802

798:                                              ; preds = %779
  %799 = landingpad { ptr, i32 }
          cleanup
  %800 = extractvalue { ptr, i32 } %799, 0
  store ptr %800, ptr %12, align 8
  %801 = extractvalue { ptr, i32 } %799, 1
  store i32 %801, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #9
  br label %802

802:                                              ; preds = %798, %794
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %81) #9
  br label %803

803:                                              ; preds = %802, %793, %781
  call void @llvm.lifetime.end.p0(i64 6, ptr %77) #9
  br label %804

804:                                              ; preds = %803, %754, %736
  call void @llvm.lifetime.end.p0(i64 7504, ptr %74) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %73) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %73) #9
  br label %1958

805:                                              ; preds = %720
  %806 = load ptr, ptr %36, align 8, !tbaa !9
  %807 = call i32 @strcmp(ptr noundef %806, ptr noundef @.str.33) #10
  %808 = icmp eq i32 %807, 0
  br i1 %808, label %809, label %890

809:                                              ; preds = %805
  %810 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.34)
          to label %811 unwind label %409

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

813:                                              ; preds = %811
  call void @llvm.lifetime.start.p0(i64 24, ptr %82) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %82) #9
  call void @llvm.lifetime.start.p0(i64 7504, ptr %83) #9
  %814 = call i64 @time(ptr noundef null) #9
  %815 = trunc i64 %814 to i32
  invoke void @_ZN11FastPForLib22ClusteredDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %83, i32 noundef %815)
          to label %816 unwind label %821

816:                                              ; preds = %813
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #9
  store i32 0, ptr %84, align 4, !tbaa !5
  br label %817

817:                                              ; preds = %828, %816
  %818 = load i32, ptr %84, align 4, !tbaa !5
  %819 = icmp ult i32 %818, 16384
  br i1 %819, label %825, label %820

820:                                              ; preds = %817
  store i32 25, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #9
  br label %840

821:                                              ; preds = %852, %847, %845, %842, %840, %813
  %822 = landingpad { ptr, i32 }
          cleanup
  %823 = extractvalue { ptr, i32 } %822, 0
  store ptr %823, ptr %12, align 8
  %824 = extractvalue { ptr, i32 } %822, 1
  store i32 %824, ptr %13, align 4
  br label %889

825:                                              ; preds = %817
  call void @llvm.lifetime.start.p0(i64 24, ptr %85) #9
  invoke void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %85, ptr noundef nonnull align 8 dereferenceable(7504) %83, i32 noundef 512, i32 noundef 134217728)
          to label %826 unwind label %831

826:                                              ; preds = %825
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %82, ptr noundef nonnull align 8 dereferenceable(24) %85)
          to label %827 unwind label %835

827:                                              ; preds = %826
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %85) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %85) #9
  br label %828

828:                                              ; preds = %827
  %829 = load i32, ptr %84, align 4, !tbaa !5
  %830 = add i32 %829, 1
  store i32 %830, ptr %84, align 4, !tbaa !5
  br label %817, !llvm.loop !25

831:                                              ; preds = %825
  %832 = landingpad { ptr, i32 }
          cleanup
  %833 = extractvalue { ptr, i32 } %832, 0
  store ptr %833, ptr %12, align 8
  %834 = extractvalue { ptr, i32 } %832, 1
  store i32 %834, ptr %13, align 4
  br label %839

835:                                              ; preds = %826
  %836 = landingpad { ptr, i32 }
          cleanup
  %837 = extractvalue { ptr, i32 } %836, 0
  store ptr %837, ptr %12, align 8
  %838 = extractvalue { ptr, i32 } %836, 1
  store i32 %838, ptr %13, align 4
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %85) #9
  br label %839

839:                                              ; preds = %835, %831
  call void @llvm.lifetime.end.p0(i64 24, ptr %85) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #9
  br label %889

840:                                              ; preds = %820
  %841 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.27)
          to label %842 unwind label %821

842:                                              ; preds = %840
  %843 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %82) #9
  %844 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %841, i64 noundef %843)
          to label %845 unwind label %821

845:                                              ; preds = %842
  %846 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %844, ptr noundef @.str.28)
          to label %847 unwind label %821

847:                                              ; preds = %845
  %848 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %846, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %849 unwind label %821

849:                                              ; preds = %847
  %850 = load i8, ptr %9, align 1, !tbaa !11, !range !19, !noundef !20
  %851 = trunc i8 %850 to i1
  br i1 %851, label %852, label %854

852:                                              ; preds = %849
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %82, i64 noundef 65536)
          to label %853 unwind label %821

853:                                              ; preds = %852
  br label %854

854:                                              ; preds = %853, %849
  call void @llvm.lifetime.start.p0(i64 6, ptr %86) #9
  %855 = load i8, ptr %6, align 1, !tbaa !11, !range !19, !noundef !20
  %856 = trunc i8 %855 to i1
  %857 = load i8, ptr %7, align 1, !tbaa !11, !range !19, !noundef !20
  %858 = trunc i8 %857 to i1
  %859 = load i8, ptr %8, align 1, !tbaa !11, !range !19, !noundef !20
  %860 = trunc i8 %859 to i1
  invoke void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %86, i1 noundef zeroext true, i1 noundef zeroext %856, i1 noundef zeroext %858, i1 noundef zeroext %860, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %861 unwind label %866

861:                                              ; preds = %854
  call void @llvm.lifetime.start.p0(i64 1, ptr %88) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %88)
          to label %862 unwind label %870

862:                                              ; preds = %861
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %82, ptr noundef nonnull align 1 dereferenceable(6) %86, ptr noundef %87)
          to label %863 unwind label %874

863:                                              ; preds = %862
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %88) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %90) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %90)
          to label %864 unwind label %879

864:                                              ; preds = %863
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %89)
          to label %865 unwind label %883

865:                                              ; preds = %864
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %90) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 6, ptr %86) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr %83) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %82) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %82) #9
  br label %1956

866:                                              ; preds = %854
  %867 = landingpad { ptr, i32 }
          cleanup
  %868 = extractvalue { ptr, i32 } %867, 0
  store ptr %868, ptr %12, align 8
  %869 = extractvalue { ptr, i32 } %867, 1
  store i32 %869, ptr %13, align 4
  br label %888

870:                                              ; preds = %861
  %871 = landingpad { ptr, i32 }
          cleanup
  %872 = extractvalue { ptr, i32 } %871, 0
  store ptr %872, ptr %12, align 8
  %873 = extractvalue { ptr, i32 } %871, 1
  store i32 %873, ptr %13, align 4
  br label %878

874:                                              ; preds = %862
  %875 = landingpad { ptr, i32 }
          cleanup
  %876 = extractvalue { ptr, i32 } %875, 0
  store ptr %876, ptr %12, align 8
  %877 = extractvalue { ptr, i32 } %875, 1
  store i32 %877, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #9
  br label %878

878:                                              ; preds = %874, %870
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %88) #9
  br label %888

879:                                              ; preds = %863
  %880 = landingpad { ptr, i32 }
          cleanup
  %881 = extractvalue { ptr, i32 } %880, 0
  store ptr %881, ptr %12, align 8
  %882 = extractvalue { ptr, i32 } %880, 1
  store i32 %882, ptr %13, align 4
  br label %887

883:                                              ; preds = %864
  %884 = landingpad { ptr, i32 }
          cleanup
  %885 = extractvalue { ptr, i32 } %884, 0
  store ptr %885, ptr %12, align 8
  %886 = extractvalue { ptr, i32 } %884, 1
  store i32 %886, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #9
  br label %887

887:                                              ; preds = %883, %879
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %90) #9
  br label %888

888:                                              ; preds = %887, %878, %866
  call void @llvm.lifetime.end.p0(i64 6, ptr %86) #9
  br label %889

889:                                              ; preds = %888, %839, %821
  call void @llvm.lifetime.end.p0(i64 7504, ptr %83) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %82) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %82) #9
  br label %1958

890:                                              ; preds = %805
  %891 = load ptr, ptr %36, align 8, !tbaa !9
  %892 = call i32 @strcmp(ptr noundef %891, ptr noundef @.str.35) #10
  %893 = icmp eq i32 %892, 0
  br i1 %893, label %894, label %975

894:                                              ; preds = %890
  %895 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.26)
          to label %896 unwind label %409

896:                                              ; preds = %894
  %897 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %895, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %898 unwind label %409

898:                                              ; preds = %896
  call void @llvm.lifetime.start.p0(i64 24, ptr %91) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %91) #9
  call void @llvm.lifetime.start.p0(i64 7504, ptr %92) #9
  %899 = call i64 @time(ptr noundef null) #9
  %900 = trunc i64 %899 to i32
  invoke void @_ZN11FastPForLib20UniformDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %92, i32 noundef %900)
          to label %901 unwind label %906

901:                                              ; preds = %898
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #9
  store i32 0, ptr %93, align 4, !tbaa !5
  br label %902

902:                                              ; preds = %913, %901
  %903 = load i32, ptr %93, align 4, !tbaa !5
  %904 = icmp ult i32 %903, 8
  br i1 %904, label %910, label %905

905:                                              ; preds = %902
  store i32 28, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #9
  br label %925

906:                                              ; preds = %937, %932, %930, %927, %925, %898
  %907 = landingpad { ptr, i32 }
          cleanup
  %908 = extractvalue { ptr, i32 } %907, 0
  store ptr %908, ptr %12, align 8
  %909 = extractvalue { ptr, i32 } %907, 1
  store i32 %909, ptr %13, align 4
  br label %974

910:                                              ; preds = %902
  call void @llvm.lifetime.start.p0(i64 24, ptr %94) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %94, ptr noundef nonnull align 8 dereferenceable(7504) %92, i32 noundef 4194304, i32 noundef 536870912)
          to label %911 unwind label %916

911:                                              ; preds = %910
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %91, ptr noundef nonnull align 8 dereferenceable(24) %94)
          to label %912 unwind label %920

912:                                              ; preds = %911
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %94) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %94) #9
  br label %913

913:                                              ; preds = %912
  %914 = load i32, ptr %93, align 4, !tbaa !5
  %915 = add i32 %914, 1
  store i32 %915, ptr %93, align 4, !tbaa !5
  br label %902, !llvm.loop !26

916:                                              ; preds = %910
  %917 = landingpad { ptr, i32 }
          cleanup
  %918 = extractvalue { ptr, i32 } %917, 0
  store ptr %918, ptr %12, align 8
  %919 = extractvalue { ptr, i32 } %917, 1
  store i32 %919, ptr %13, align 4
  br label %924

920:                                              ; preds = %911
  %921 = landingpad { ptr, i32 }
          cleanup
  %922 = extractvalue { ptr, i32 } %921, 0
  store ptr %922, ptr %12, align 8
  %923 = extractvalue { ptr, i32 } %921, 1
  store i32 %923, ptr %13, align 4
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %94) #9
  br label %924

924:                                              ; preds = %920, %916
  call void @llvm.lifetime.end.p0(i64 24, ptr %94) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #9
  br label %974

925:                                              ; preds = %905
  %926 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.27)
          to label %927 unwind label %906

927:                                              ; preds = %925
  %928 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %91) #9
  %929 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %926, i64 noundef %928)
          to label %930 unwind label %906

930:                                              ; preds = %927
  %931 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %929, ptr noundef @.str.28)
          to label %932 unwind label %906

932:                                              ; preds = %930
  %933 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %931, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %934 unwind label %906

934:                                              ; preds = %932
  %935 = load i8, ptr %9, align 1, !tbaa !11, !range !19, !noundef !20
  %936 = trunc i8 %935 to i1
  br i1 %936, label %937, label %939

937:                                              ; preds = %934
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %91, i64 noundef 65536)
          to label %938 unwind label %906

938:                                              ; preds = %937
  br label %939

939:                                              ; preds = %938, %934
  call void @llvm.lifetime.start.p0(i64 6, ptr %95) #9
  %940 = load i8, ptr %6, align 1, !tbaa !11, !range !19, !noundef !20
  %941 = trunc i8 %940 to i1
  %942 = load i8, ptr %7, align 1, !tbaa !11, !range !19, !noundef !20
  %943 = trunc i8 %942 to i1
  %944 = load i8, ptr %8, align 1, !tbaa !11, !range !19, !noundef !20
  %945 = trunc i8 %944 to i1
  invoke void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %95, i1 noundef zeroext true, i1 noundef zeroext %941, i1 noundef zeroext %943, i1 noundef zeroext %945, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %946 unwind label %951

946:                                              ; preds = %939
  call void @llvm.lifetime.start.p0(i64 1, ptr %97) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %96, ptr noundef @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %97)
          to label %947 unwind label %955

947:                                              ; preds = %946
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %91, ptr noundef nonnull align 1 dereferenceable(6) %95, ptr noundef %96)
          to label %948 unwind label %959

948:                                              ; preds = %947
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %97) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %99) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %99) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %99)
          to label %949 unwind label %964

949:                                              ; preds = %948
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %98)
          to label %950 unwind label %968

950:                                              ; preds = %949
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %99) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 6, ptr %95) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr %92) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %91) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %91) #9
  br label %1956

951:                                              ; preds = %939
  %952 = landingpad { ptr, i32 }
          cleanup
  %953 = extractvalue { ptr, i32 } %952, 0
  store ptr %953, ptr %12, align 8
  %954 = extractvalue { ptr, i32 } %952, 1
  store i32 %954, ptr %13, align 4
  br label %973

955:                                              ; preds = %946
  %956 = landingpad { ptr, i32 }
          cleanup
  %957 = extractvalue { ptr, i32 } %956, 0
  store ptr %957, ptr %12, align 8
  %958 = extractvalue { ptr, i32 } %956, 1
  store i32 %958, ptr %13, align 4
  br label %963

959:                                              ; preds = %947
  %960 = landingpad { ptr, i32 }
          cleanup
  %961 = extractvalue { ptr, i32 } %960, 0
  store ptr %961, ptr %12, align 8
  %962 = extractvalue { ptr, i32 } %960, 1
  store i32 %962, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #9
  br label %963

963:                                              ; preds = %959, %955
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %97) #9
  br label %973

964:                                              ; preds = %948
  %965 = landingpad { ptr, i32 }
          cleanup
  %966 = extractvalue { ptr, i32 } %965, 0
  store ptr %966, ptr %12, align 8
  %967 = extractvalue { ptr, i32 } %965, 1
  store i32 %967, ptr %13, align 4
  br label %972

968:                                              ; preds = %949
  %969 = landingpad { ptr, i32 }
          cleanup
  %970 = extractvalue { ptr, i32 } %969, 0
  store ptr %970, ptr %12, align 8
  %971 = extractvalue { ptr, i32 } %969, 1
  store i32 %971, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #9
  br label %972

972:                                              ; preds = %968, %964
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %99) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #9
  br label %973

973:                                              ; preds = %972, %963, %951
  call void @llvm.lifetime.end.p0(i64 6, ptr %95) #9
  br label %974

974:                                              ; preds = %973, %924, %906
  call void @llvm.lifetime.end.p0(i64 7504, ptr %92) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %91) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %91) #9
  br label %1958

975:                                              ; preds = %890
  %976 = load ptr, ptr %36, align 8, !tbaa !9
  %977 = call i32 @strcmp(ptr noundef %976, ptr noundef @.str.36) #10
  %978 = icmp eq i32 %977, 0
  br i1 %978, label %979, label %1060

979:                                              ; preds = %975
  %980 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.30)
          to label %981 unwind label %409

981:                                              ; preds = %979
  %982 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %980, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %983 unwind label %409

983:                                              ; preds = %981
  call void @llvm.lifetime.start.p0(i64 24, ptr %100) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #9
  call void @llvm.lifetime.start.p0(i64 7504, ptr %101) #9
  %984 = call i64 @time(ptr noundef null) #9
  %985 = trunc i64 %984 to i32
  invoke void @_ZN11FastPForLib20UniformDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %101, i32 noundef %985)
          to label %986 unwind label %991

986:                                              ; preds = %983
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #9
  store i32 0, ptr %102, align 4, !tbaa !5
  br label %987

987:                                              ; preds = %998, %986
  %988 = load i32, ptr %102, align 4, !tbaa !5
  %989 = icmp ult i32 %988, 8192
  br i1 %989, label %995, label %990

990:                                              ; preds = %987
  store i32 31, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #9
  br label %1010

991:                                              ; preds = %1022, %1017, %1015, %1012, %1010, %983
  %992 = landingpad { ptr, i32 }
          cleanup
  %993 = extractvalue { ptr, i32 } %992, 0
  store ptr %993, ptr %12, align 8
  %994 = extractvalue { ptr, i32 } %992, 1
  store i32 %994, ptr %13, align 4
  br label %1059

995:                                              ; preds = %987
  call void @llvm.lifetime.start.p0(i64 24, ptr %103) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %103, ptr noundef nonnull align 8 dereferenceable(7504) %101, i32 noundef 4096, i32 noundef 536870912)
          to label %996 unwind label %1001

996:                                              ; preds = %995
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %100, ptr noundef nonnull align 8 dereferenceable(24) %103)
          to label %997 unwind label %1005

997:                                              ; preds = %996
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %103) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %103) #9
  br label %998

998:                                              ; preds = %997
  %999 = load i32, ptr %102, align 4, !tbaa !5
  %1000 = add i32 %999, 1
  store i32 %1000, ptr %102, align 4, !tbaa !5
  br label %987, !llvm.loop !27

1001:                                             ; preds = %995
  %1002 = landingpad { ptr, i32 }
          cleanup
  %1003 = extractvalue { ptr, i32 } %1002, 0
  store ptr %1003, ptr %12, align 8
  %1004 = extractvalue { ptr, i32 } %1002, 1
  store i32 %1004, ptr %13, align 4
  br label %1009

1005:                                             ; preds = %996
  %1006 = landingpad { ptr, i32 }
          cleanup
  %1007 = extractvalue { ptr, i32 } %1006, 0
  store ptr %1007, ptr %12, align 8
  %1008 = extractvalue { ptr, i32 } %1006, 1
  store i32 %1008, ptr %13, align 4
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %103) #9
  br label %1009

1009:                                             ; preds = %1005, %1001
  call void @llvm.lifetime.end.p0(i64 24, ptr %103) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #9
  br label %1059

1010:                                             ; preds = %990
  %1011 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.27)
          to label %1012 unwind label %991

1012:                                             ; preds = %1010
  %1013 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %100) #9
  %1014 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %1011, i64 noundef %1013)
          to label %1015 unwind label %991

1015:                                             ; preds = %1012
  %1016 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1014, ptr noundef @.str.28)
          to label %1017 unwind label %991

1017:                                             ; preds = %1015
  %1018 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1016, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1019 unwind label %991

1019:                                             ; preds = %1017
  %1020 = load i8, ptr %9, align 1, !tbaa !11, !range !19, !noundef !20
  %1021 = trunc i8 %1020 to i1
  br i1 %1021, label %1022, label %1024

1022:                                             ; preds = %1019
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %100, i64 noundef 65536)
          to label %1023 unwind label %991

1023:                                             ; preds = %1022
  br label %1024

1024:                                             ; preds = %1023, %1019
  call void @llvm.lifetime.start.p0(i64 6, ptr %104) #9
  %1025 = load i8, ptr %6, align 1, !tbaa !11, !range !19, !noundef !20
  %1026 = trunc i8 %1025 to i1
  %1027 = load i8, ptr %7, align 1, !tbaa !11, !range !19, !noundef !20
  %1028 = trunc i8 %1027 to i1
  %1029 = load i8, ptr %8, align 1, !tbaa !11, !range !19, !noundef !20
  %1030 = trunc i8 %1029 to i1
  invoke void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %104, i1 noundef zeroext true, i1 noundef zeroext %1026, i1 noundef zeroext %1028, i1 noundef zeroext %1030, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %1031 unwind label %1036

1031:                                             ; preds = %1024
  call void @llvm.lifetime.start.p0(i64 1, ptr %106) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %106) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %105, ptr noundef @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %106)
          to label %1032 unwind label %1040

1032:                                             ; preds = %1031
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %100, ptr noundef nonnull align 1 dereferenceable(6) %104, ptr noundef %105)
          to label %1033 unwind label %1044

1033:                                             ; preds = %1032
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %106) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %106) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %108) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %108)
          to label %1034 unwind label %1049

1034:                                             ; preds = %1033
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %107)
          to label %1035 unwind label %1053

1035:                                             ; preds = %1034
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %108) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 6, ptr %104) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr %101) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %100) #9
  br label %1956

1036:                                             ; preds = %1024
  %1037 = landingpad { ptr, i32 }
          cleanup
  %1038 = extractvalue { ptr, i32 } %1037, 0
  store ptr %1038, ptr %12, align 8
  %1039 = extractvalue { ptr, i32 } %1037, 1
  store i32 %1039, ptr %13, align 4
  br label %1058

1040:                                             ; preds = %1031
  %1041 = landingpad { ptr, i32 }
          cleanup
  %1042 = extractvalue { ptr, i32 } %1041, 0
  store ptr %1042, ptr %12, align 8
  %1043 = extractvalue { ptr, i32 } %1041, 1
  store i32 %1043, ptr %13, align 4
  br label %1048

1044:                                             ; preds = %1032
  %1045 = landingpad { ptr, i32 }
          cleanup
  %1046 = extractvalue { ptr, i32 } %1045, 0
  store ptr %1046, ptr %12, align 8
  %1047 = extractvalue { ptr, i32 } %1045, 1
  store i32 %1047, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #9
  br label %1048

1048:                                             ; preds = %1044, %1040
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %106) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %106) #9
  br label %1058

1049:                                             ; preds = %1033
  %1050 = landingpad { ptr, i32 }
          cleanup
  %1051 = extractvalue { ptr, i32 } %1050, 0
  store ptr %1051, ptr %12, align 8
  %1052 = extractvalue { ptr, i32 } %1050, 1
  store i32 %1052, ptr %13, align 4
  br label %1057

1053:                                             ; preds = %1034
  %1054 = landingpad { ptr, i32 }
          cleanup
  %1055 = extractvalue { ptr, i32 } %1054, 0
  store ptr %1055, ptr %12, align 8
  %1056 = extractvalue { ptr, i32 } %1054, 1
  store i32 %1056, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #9
  br label %1057

1057:                                             ; preds = %1053, %1049
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %108) #9
  br label %1058

1058:                                             ; preds = %1057, %1048, %1036
  call void @llvm.lifetime.end.p0(i64 6, ptr %104) #9
  br label %1059

1059:                                             ; preds = %1058, %1009, %991
  call void @llvm.lifetime.end.p0(i64 7504, ptr %101) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %100) #9
  br label %1958

1060:                                             ; preds = %975
  %1061 = load ptr, ptr %36, align 8, !tbaa !9
  %1062 = call i32 @strcmp(ptr noundef %1061, ptr noundef @.str.37) #10
  %1063 = icmp eq i32 %1062, 0
  br i1 %1063, label %1064, label %1145

1064:                                             ; preds = %1060
  %1065 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.32)
          to label %1066 unwind label %409

1066:                                             ; preds = %1064
  %1067 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1065, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1068 unwind label %409

1068:                                             ; preds = %1066
  call void @llvm.lifetime.start.p0(i64 24, ptr %109) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #9
  call void @llvm.lifetime.start.p0(i64 7504, ptr %110) #9
  %1069 = call i64 @time(ptr noundef null) #9
  %1070 = trunc i64 %1069 to i32
  invoke void @_ZN11FastPForLib22ClusteredDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %110, i32 noundef %1070)
          to label %1071 unwind label %1076

1071:                                             ; preds = %1068
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #9
  store i32 0, ptr %111, align 4, !tbaa !5
  br label %1072

1072:                                             ; preds = %1083, %1071
  %1073 = load i32, ptr %111, align 4, !tbaa !5
  %1074 = icmp ult i32 %1073, 1
  br i1 %1074, label %1080, label %1075

1075:                                             ; preds = %1072
  store i32 34, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #9
  br label %1095

1076:                                             ; preds = %1107, %1102, %1100, %1097, %1095, %1068
  %1077 = landingpad { ptr, i32 }
          cleanup
  %1078 = extractvalue { ptr, i32 } %1077, 0
  store ptr %1078, ptr %12, align 8
  %1079 = extractvalue { ptr, i32 } %1077, 1
  store i32 %1079, ptr %13, align 4
  br label %1144

1080:                                             ; preds = %1072
  call void @llvm.lifetime.start.p0(i64 24, ptr %112) #9
  invoke void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %112, ptr noundef nonnull align 8 dereferenceable(7504) %110, i32 noundef 8388608, i32 noundef 67108864)
          to label %1081 unwind label %1086

1081:                                             ; preds = %1080
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %109, ptr noundef nonnull align 8 dereferenceable(24) %112)
          to label %1082 unwind label %1090

1082:                                             ; preds = %1081
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %112) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %112) #9
  br label %1083

1083:                                             ; preds = %1082
  %1084 = load i32, ptr %111, align 4, !tbaa !5
  %1085 = add i32 %1084, 1
  store i32 %1085, ptr %111, align 4, !tbaa !5
  br label %1072, !llvm.loop !28

1086:                                             ; preds = %1080
  %1087 = landingpad { ptr, i32 }
          cleanup
  %1088 = extractvalue { ptr, i32 } %1087, 0
  store ptr %1088, ptr %12, align 8
  %1089 = extractvalue { ptr, i32 } %1087, 1
  store i32 %1089, ptr %13, align 4
  br label %1094

1090:                                             ; preds = %1081
  %1091 = landingpad { ptr, i32 }
          cleanup
  %1092 = extractvalue { ptr, i32 } %1091, 0
  store ptr %1092, ptr %12, align 8
  %1093 = extractvalue { ptr, i32 } %1091, 1
  store i32 %1093, ptr %13, align 4
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %112) #9
  br label %1094

1094:                                             ; preds = %1090, %1086
  call void @llvm.lifetime.end.p0(i64 24, ptr %112) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #9
  br label %1144

1095:                                             ; preds = %1075
  %1096 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.27)
          to label %1097 unwind label %1076

1097:                                             ; preds = %1095
  %1098 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %109) #9
  %1099 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %1096, i64 noundef %1098)
          to label %1100 unwind label %1076

1100:                                             ; preds = %1097
  %1101 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1099, ptr noundef @.str.28)
          to label %1102 unwind label %1076

1102:                                             ; preds = %1100
  %1103 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1101, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1104 unwind label %1076

1104:                                             ; preds = %1102
  %1105 = load i8, ptr %9, align 1, !tbaa !11, !range !19, !noundef !20
  %1106 = trunc i8 %1105 to i1
  br i1 %1106, label %1107, label %1109

1107:                                             ; preds = %1104
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %109, i64 noundef 65536)
          to label %1108 unwind label %1076

1108:                                             ; preds = %1107
  br label %1109

1109:                                             ; preds = %1108, %1104
  call void @llvm.lifetime.start.p0(i64 6, ptr %113) #9
  %1110 = load i8, ptr %6, align 1, !tbaa !11, !range !19, !noundef !20
  %1111 = trunc i8 %1110 to i1
  %1112 = load i8, ptr %7, align 1, !tbaa !11, !range !19, !noundef !20
  %1113 = trunc i8 %1112 to i1
  %1114 = load i8, ptr %8, align 1, !tbaa !11, !range !19, !noundef !20
  %1115 = trunc i8 %1114 to i1
  invoke void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %113, i1 noundef zeroext true, i1 noundef zeroext %1111, i1 noundef zeroext %1113, i1 noundef zeroext %1115, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %1116 unwind label %1121

1116:                                             ; preds = %1109
  call void @llvm.lifetime.start.p0(i64 1, ptr %115) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %115)
          to label %1117 unwind label %1125

1117:                                             ; preds = %1116
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %109, ptr noundef nonnull align 1 dereferenceable(6) %113, ptr noundef %114)
          to label %1118 unwind label %1129

1118:                                             ; preds = %1117
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %117) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %117)
          to label %1119 unwind label %1134

1119:                                             ; preds = %1118
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %116)
          to label %1120 unwind label %1138

1120:                                             ; preds = %1119
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %117) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 6, ptr %113) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr %110) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %109) #9
  br label %1956

1121:                                             ; preds = %1109
  %1122 = landingpad { ptr, i32 }
          cleanup
  %1123 = extractvalue { ptr, i32 } %1122, 0
  store ptr %1123, ptr %12, align 8
  %1124 = extractvalue { ptr, i32 } %1122, 1
  store i32 %1124, ptr %13, align 4
  br label %1143

1125:                                             ; preds = %1116
  %1126 = landingpad { ptr, i32 }
          cleanup
  %1127 = extractvalue { ptr, i32 } %1126, 0
  store ptr %1127, ptr %12, align 8
  %1128 = extractvalue { ptr, i32 } %1126, 1
  store i32 %1128, ptr %13, align 4
  br label %1133

1129:                                             ; preds = %1117
  %1130 = landingpad { ptr, i32 }
          cleanup
  %1131 = extractvalue { ptr, i32 } %1130, 0
  store ptr %1131, ptr %12, align 8
  %1132 = extractvalue { ptr, i32 } %1130, 1
  store i32 %1132, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #9
  br label %1133

1133:                                             ; preds = %1129, %1125
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #9
  br label %1143

1134:                                             ; preds = %1118
  %1135 = landingpad { ptr, i32 }
          cleanup
  %1136 = extractvalue { ptr, i32 } %1135, 0
  store ptr %1136, ptr %12, align 8
  %1137 = extractvalue { ptr, i32 } %1135, 1
  store i32 %1137, ptr %13, align 4
  br label %1142

1138:                                             ; preds = %1119
  %1139 = landingpad { ptr, i32 }
          cleanup
  %1140 = extractvalue { ptr, i32 } %1139, 0
  store ptr %1140, ptr %12, align 8
  %1141 = extractvalue { ptr, i32 } %1139, 1
  store i32 %1141, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #9
  br label %1142

1142:                                             ; preds = %1138, %1134
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %117) #9
  br label %1143

1143:                                             ; preds = %1142, %1133, %1121
  call void @llvm.lifetime.end.p0(i64 6, ptr %113) #9
  br label %1144

1144:                                             ; preds = %1143, %1094, %1076
  call void @llvm.lifetime.end.p0(i64 7504, ptr %110) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %109) #9
  br label %1958

1145:                                             ; preds = %1060
  %1146 = load ptr, ptr %36, align 8, !tbaa !9
  %1147 = call i32 @strcmp(ptr noundef %1146, ptr noundef @.str.38) #10
  %1148 = icmp eq i32 %1147, 0
  br i1 %1148, label %1149, label %1230

1149:                                             ; preds = %1145
  %1150 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.34)
          to label %1151 unwind label %409

1151:                                             ; preds = %1149
  %1152 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1150, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1153 unwind label %409

1153:                                             ; preds = %1151
  call void @llvm.lifetime.start.p0(i64 24, ptr %118) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %118) #9
  call void @llvm.lifetime.start.p0(i64 7504, ptr %119) #9
  %1154 = call i64 @time(ptr noundef null) #9
  %1155 = trunc i64 %1154 to i32
  invoke void @_ZN11FastPForLib22ClusteredDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %119, i32 noundef %1155)
          to label %1156 unwind label %1161

1156:                                             ; preds = %1153
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #9
  store i32 0, ptr %120, align 4, !tbaa !5
  br label %1157

1157:                                             ; preds = %1168, %1156
  %1158 = load i32, ptr %120, align 4, !tbaa !5
  %1159 = icmp ult i32 %1158, 8192
  br i1 %1159, label %1165, label %1160

1160:                                             ; preds = %1157
  store i32 37, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #9
  br label %1180

1161:                                             ; preds = %1192, %1187, %1185, %1182, %1180, %1153
  %1162 = landingpad { ptr, i32 }
          cleanup
  %1163 = extractvalue { ptr, i32 } %1162, 0
  store ptr %1163, ptr %12, align 8
  %1164 = extractvalue { ptr, i32 } %1162, 1
  store i32 %1164, ptr %13, align 4
  br label %1229

1165:                                             ; preds = %1157
  call void @llvm.lifetime.start.p0(i64 24, ptr %121) #9
  invoke void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %121, ptr noundef nonnull align 8 dereferenceable(7504) %119, i32 noundef 4096, i32 noundef 67108864)
          to label %1166 unwind label %1171

1166:                                             ; preds = %1165
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %118, ptr noundef nonnull align 8 dereferenceable(24) %121)
          to label %1167 unwind label %1175

1167:                                             ; preds = %1166
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %121) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %121) #9
  br label %1168

1168:                                             ; preds = %1167
  %1169 = load i32, ptr %120, align 4, !tbaa !5
  %1170 = add i32 %1169, 1
  store i32 %1170, ptr %120, align 4, !tbaa !5
  br label %1157, !llvm.loop !29

1171:                                             ; preds = %1165
  %1172 = landingpad { ptr, i32 }
          cleanup
  %1173 = extractvalue { ptr, i32 } %1172, 0
  store ptr %1173, ptr %12, align 8
  %1174 = extractvalue { ptr, i32 } %1172, 1
  store i32 %1174, ptr %13, align 4
  br label %1179

1175:                                             ; preds = %1166
  %1176 = landingpad { ptr, i32 }
          cleanup
  %1177 = extractvalue { ptr, i32 } %1176, 0
  store ptr %1177, ptr %12, align 8
  %1178 = extractvalue { ptr, i32 } %1176, 1
  store i32 %1178, ptr %13, align 4
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %121) #9
  br label %1179

1179:                                             ; preds = %1175, %1171
  call void @llvm.lifetime.end.p0(i64 24, ptr %121) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #9
  br label %1229

1180:                                             ; preds = %1160
  %1181 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.27)
          to label %1182 unwind label %1161

1182:                                             ; preds = %1180
  %1183 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %118) #9
  %1184 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %1181, i64 noundef %1183)
          to label %1185 unwind label %1161

1185:                                             ; preds = %1182
  %1186 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1184, ptr noundef @.str.28)
          to label %1187 unwind label %1161

1187:                                             ; preds = %1185
  %1188 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1186, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1189 unwind label %1161

1189:                                             ; preds = %1187
  %1190 = load i8, ptr %9, align 1, !tbaa !11, !range !19, !noundef !20
  %1191 = trunc i8 %1190 to i1
  br i1 %1191, label %1192, label %1194

1192:                                             ; preds = %1189
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %118, i64 noundef 65536)
          to label %1193 unwind label %1161

1193:                                             ; preds = %1192
  br label %1194

1194:                                             ; preds = %1193, %1189
  call void @llvm.lifetime.start.p0(i64 6, ptr %122) #9
  %1195 = load i8, ptr %6, align 1, !tbaa !11, !range !19, !noundef !20
  %1196 = trunc i8 %1195 to i1
  %1197 = load i8, ptr %7, align 1, !tbaa !11, !range !19, !noundef !20
  %1198 = trunc i8 %1197 to i1
  %1199 = load i8, ptr %8, align 1, !tbaa !11, !range !19, !noundef !20
  %1200 = trunc i8 %1199 to i1
  invoke void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %122, i1 noundef zeroext true, i1 noundef zeroext %1196, i1 noundef zeroext %1198, i1 noundef zeroext %1200, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %1201 unwind label %1206

1201:                                             ; preds = %1194
  call void @llvm.lifetime.start.p0(i64 1, ptr %124) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %124) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %123, ptr noundef @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %124)
          to label %1202 unwind label %1210

1202:                                             ; preds = %1201
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %118, ptr noundef nonnull align 1 dereferenceable(6) %122, ptr noundef %123)
          to label %1203 unwind label %1214

1203:                                             ; preds = %1202
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %124) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %124) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %126) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %126) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %126)
          to label %1204 unwind label %1219

1204:                                             ; preds = %1203
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %125)
          to label %1205 unwind label %1223

1205:                                             ; preds = %1204
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %126) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %126) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 6, ptr %122) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr %119) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %118) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %118) #9
  br label %1956

1206:                                             ; preds = %1194
  %1207 = landingpad { ptr, i32 }
          cleanup
  %1208 = extractvalue { ptr, i32 } %1207, 0
  store ptr %1208, ptr %12, align 8
  %1209 = extractvalue { ptr, i32 } %1207, 1
  store i32 %1209, ptr %13, align 4
  br label %1228

1210:                                             ; preds = %1201
  %1211 = landingpad { ptr, i32 }
          cleanup
  %1212 = extractvalue { ptr, i32 } %1211, 0
  store ptr %1212, ptr %12, align 8
  %1213 = extractvalue { ptr, i32 } %1211, 1
  store i32 %1213, ptr %13, align 4
  br label %1218

1214:                                             ; preds = %1202
  %1215 = landingpad { ptr, i32 }
          cleanup
  %1216 = extractvalue { ptr, i32 } %1215, 0
  store ptr %1216, ptr %12, align 8
  %1217 = extractvalue { ptr, i32 } %1215, 1
  store i32 %1217, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #9
  br label %1218

1218:                                             ; preds = %1214, %1210
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %124) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %124) #9
  br label %1228

1219:                                             ; preds = %1203
  %1220 = landingpad { ptr, i32 }
          cleanup
  %1221 = extractvalue { ptr, i32 } %1220, 0
  store ptr %1221, ptr %12, align 8
  %1222 = extractvalue { ptr, i32 } %1220, 1
  store i32 %1222, ptr %13, align 4
  br label %1227

1223:                                             ; preds = %1204
  %1224 = landingpad { ptr, i32 }
          cleanup
  %1225 = extractvalue { ptr, i32 } %1224, 0
  store ptr %1225, ptr %12, align 8
  %1226 = extractvalue { ptr, i32 } %1224, 1
  store i32 %1226, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #9
  br label %1227

1227:                                             ; preds = %1223, %1219
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %126) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %126) #9
  br label %1228

1228:                                             ; preds = %1227, %1218, %1206
  call void @llvm.lifetime.end.p0(i64 6, ptr %122) #9
  br label %1229

1229:                                             ; preds = %1228, %1179, %1161
  call void @llvm.lifetime.end.p0(i64 7504, ptr %119) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %118) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %118) #9
  br label %1958

1230:                                             ; preds = %1145
  %1231 = load ptr, ptr %36, align 8, !tbaa !9
  %1232 = call i32 @strcmp(ptr noundef %1231, ptr noundef @.str.39) #10
  %1233 = icmp eq i32 %1232, 0
  br i1 %1233, label %1234, label %1344

1234:                                             ; preds = %1230
  %1235 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.40)
          to label %1236 unwind label %409

1236:                                             ; preds = %1234
  %1237 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1235, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1238 unwind label %409

1238:                                             ; preds = %1236
  call void @llvm.lifetime.start.p0(i64 7504, ptr %127) #9
  %1239 = call i64 @time(ptr noundef null) #9
  %1240 = trunc i64 %1239 to i32
  invoke void @_ZN11FastPForLib22ClusteredDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %127, i32 noundef %1240)
          to label %1241 unwind label %1246

1241:                                             ; preds = %1238
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #9
  store i32 15, ptr %128, align 4, !tbaa !5
  br label %1242

1242:                                             ; preds = %1317, %1241
  %1243 = load i32, ptr %128, align 4, !tbaa !5
  %1244 = icmp ule i32 %1243, 25
  br i1 %1244, label %1250, label %1245

1245:                                             ; preds = %1242
  store i32 40, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #9
  br label %1331

1246:                                             ; preds = %1238
  %1247 = landingpad { ptr, i32 }
          cleanup
  %1248 = extractvalue { ptr, i32 } %1247, 0
  store ptr %1248, ptr %12, align 8
  %1249 = extractvalue { ptr, i32 } %1247, 1
  store i32 %1249, ptr %13, align 4
  br label %1343

1250:                                             ; preds = %1242
  call void @llvm.lifetime.start.p0(i64 24, ptr %129) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %129) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #9
  store i32 0, ptr %130, align 4, !tbaa !5
  br label %1251

1251:                                             ; preds = %1263, %1250
  %1252 = load i32, ptr %130, align 4, !tbaa !5
  %1253 = load i32, ptr %128, align 4, !tbaa !5
  %1254 = sub i32 25, %1253
  %1255 = shl i32 1, %1254
  %1256 = icmp ult i32 %1252, %1255
  br i1 %1256, label %1258, label %1257

1257:                                             ; preds = %1251
  store i32 43, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #9
  br label %1275

1258:                                             ; preds = %1251
  call void @llvm.lifetime.start.p0(i64 24, ptr %131) #9
  %1259 = load i32, ptr %128, align 4, !tbaa !5
  %1260 = shl i32 1, %1259
  invoke void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %131, ptr noundef nonnull align 8 dereferenceable(7504) %127, i32 noundef %1260, i32 noundef 536870912)
          to label %1261 unwind label %1266

1261:                                             ; preds = %1258
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %129, ptr noundef nonnull align 8 dereferenceable(24) %131)
          to label %1262 unwind label %1270

1262:                                             ; preds = %1261
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %131) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %131) #9
  br label %1263

1263:                                             ; preds = %1262
  %1264 = load i32, ptr %130, align 4, !tbaa !5
  %1265 = add i32 %1264, 1
  store i32 %1265, ptr %130, align 4, !tbaa !5
  br label %1251, !llvm.loop !30

1266:                                             ; preds = %1258
  %1267 = landingpad { ptr, i32 }
          cleanup
  %1268 = extractvalue { ptr, i32 } %1267, 0
  store ptr %1268, ptr %12, align 8
  %1269 = extractvalue { ptr, i32 } %1267, 1
  store i32 %1269, ptr %13, align 4
  br label %1274

1270:                                             ; preds = %1261
  %1271 = landingpad { ptr, i32 }
          cleanup
  %1272 = extractvalue { ptr, i32 } %1271, 0
  store ptr %1272, ptr %12, align 8
  %1273 = extractvalue { ptr, i32 } %1271, 1
  store i32 %1273, ptr %13, align 4
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %131) #9
  br label %1274

1274:                                             ; preds = %1270, %1266
  call void @llvm.lifetime.end.p0(i64 24, ptr %131) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #9
  br label %1330

1275:                                             ; preds = %1257
  %1276 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.27)
          to label %1277 unwind label %1299

1277:                                             ; preds = %1275
  %1278 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %129) #9
  %1279 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %1276, i64 noundef %1278)
          to label %1280 unwind label %1299

1280:                                             ; preds = %1277
  %1281 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1279, ptr noundef @.str.28)
          to label %1282 unwind label %1299

1282:                                             ; preds = %1280
  %1283 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1281, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1284 unwind label %1299

1284:                                             ; preds = %1282
  %1285 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.41)
          to label %1286 unwind label %1299

1286:                                             ; preds = %1284
  %1287 = load i32, ptr %128, align 4, !tbaa !5
  %1288 = shl i32 1, %1287
  %1289 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1285, i32 noundef %1288)
          to label %1290 unwind label %1299

1290:                                             ; preds = %1286
  %1291 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1289, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1292 unwind label %1299

1292:                                             ; preds = %1290
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #9
  %1293 = load i32, ptr %128, align 4, !tbaa !5
  %1294 = sub i32 29, %1293
  store i32 %1294, ptr %132, align 4, !tbaa !5
  %1295 = load i8, ptr %9, align 1, !tbaa !11, !range !19, !noundef !20
  %1296 = trunc i8 %1295 to i1
  br i1 %1296, label %1297, label %1307

1297:                                             ; preds = %1292
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %129, i64 noundef 65536)
          to label %1298 unwind label %1303

1298:                                             ; preds = %1297
  br label %1307

1299:                                             ; preds = %1290, %1286, %1284, %1282, %1280, %1277, %1275
  %1300 = landingpad { ptr, i32 }
          cleanup
  %1301 = extractvalue { ptr, i32 } %1300, 0
  store ptr %1301, ptr %12, align 8
  %1302 = extractvalue { ptr, i32 } %1300, 1
  store i32 %1302, ptr %13, align 4
  br label %1330

1303:                                             ; preds = %1297
  %1304 = landingpad { ptr, i32 }
          cleanup
  %1305 = extractvalue { ptr, i32 } %1304, 0
  store ptr %1305, ptr %12, align 8
  %1306 = extractvalue { ptr, i32 } %1304, 1
  store i32 %1306, ptr %13, align 4
  br label %1329

1307:                                             ; preds = %1298, %1292
  call void @llvm.lifetime.start.p0(i64 6, ptr %133) #9
  %1308 = load i8, ptr %6, align 1, !tbaa !11, !range !19, !noundef !20
  %1309 = trunc i8 %1308 to i1
  %1310 = load i8, ptr %7, align 1, !tbaa !11, !range !19, !noundef !20
  %1311 = trunc i8 %1310 to i1
  %1312 = load i8, ptr %8, align 1, !tbaa !11, !range !19, !noundef !20
  %1313 = trunc i8 %1312 to i1
  invoke void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %133, i1 noundef zeroext true, i1 noundef zeroext %1309, i1 noundef zeroext %1311, i1 noundef zeroext %1313, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %1314 unwind label %1320

1314:                                             ; preds = %1307
  %1315 = load i32, ptr %132, align 4, !tbaa !5
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %134, i32 noundef %1315) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %129, ptr noundef nonnull align 1 dereferenceable(6) %133, ptr noundef %134)
          to label %1316 unwind label %1324

1316:                                             ; preds = %1314
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr %133) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %129) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %129) #9
  br label %1317

1317:                                             ; preds = %1316
  %1318 = load i32, ptr %128, align 4, !tbaa !5
  %1319 = add i32 %1318, 5
  store i32 %1319, ptr %128, align 4, !tbaa !5
  br label %1242, !llvm.loop !31

1320:                                             ; preds = %1307
  %1321 = landingpad { ptr, i32 }
          cleanup
  %1322 = extractvalue { ptr, i32 } %1321, 0
  store ptr %1322, ptr %12, align 8
  %1323 = extractvalue { ptr, i32 } %1321, 1
  store i32 %1323, ptr %13, align 4
  br label %1328

1324:                                             ; preds = %1314
  %1325 = landingpad { ptr, i32 }
          cleanup
  %1326 = extractvalue { ptr, i32 } %1325, 0
  store ptr %1326, ptr %12, align 8
  %1327 = extractvalue { ptr, i32 } %1325, 1
  store i32 %1327, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #9
  br label %1328

1328:                                             ; preds = %1324, %1320
  call void @llvm.lifetime.end.p0(i64 6, ptr %133) #9
  br label %1329

1329:                                             ; preds = %1328, %1303
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #9
  br label %1330

1330:                                             ; preds = %1329, %1299, %1274
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %129) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %129) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #9
  br label %1343

1331:                                             ; preds = %1245
  call void @llvm.lifetime.start.p0(i64 1, ptr %136) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %135, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %136)
          to label %1332 unwind label %1334

1332:                                             ; preds = %1331
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %135)
          to label %1333 unwind label %1338

1333:                                             ; preds = %1332
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %136) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 7504, ptr %127) #9
  br label %1956

1334:                                             ; preds = %1331
  %1335 = landingpad { ptr, i32 }
          cleanup
  %1336 = extractvalue { ptr, i32 } %1335, 0
  store ptr %1336, ptr %12, align 8
  %1337 = extractvalue { ptr, i32 } %1335, 1
  store i32 %1337, ptr %13, align 4
  br label %1342

1338:                                             ; preds = %1332
  %1339 = landingpad { ptr, i32 }
          cleanup
  %1340 = extractvalue { ptr, i32 } %1339, 0
  store ptr %1340, ptr %12, align 8
  %1341 = extractvalue { ptr, i32 } %1339, 1
  store i32 %1341, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #9
  br label %1342

1342:                                             ; preds = %1338, %1334
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %136) #9
  br label %1343

1343:                                             ; preds = %1342, %1330, %1246
  call void @llvm.lifetime.end.p0(i64 7504, ptr %127) #9
  br label %1958

1344:                                             ; preds = %1230
  %1345 = load ptr, ptr %36, align 8, !tbaa !9
  %1346 = call i32 @strcmp(ptr noundef %1345, ptr noundef @.str.42) #10
  %1347 = icmp eq i32 %1346, 0
  br i1 %1347, label %1348, label %1458

1348:                                             ; preds = %1344
  %1349 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.30)
          to label %1350 unwind label %409

1350:                                             ; preds = %1348
  %1351 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1349, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1352 unwind label %409

1352:                                             ; preds = %1350
  call void @llvm.lifetime.start.p0(i64 7504, ptr %137) #9
  %1353 = call i64 @time(ptr noundef null) #9
  %1354 = trunc i64 %1353 to i32
  invoke void @_ZN11FastPForLib20UniformDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %137, i32 noundef %1354)
          to label %1355 unwind label %1360

1355:                                             ; preds = %1352
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #9
  store i32 15, ptr %138, align 4, !tbaa !5
  br label %1356

1356:                                             ; preds = %1431, %1355
  %1357 = load i32, ptr %138, align 4, !tbaa !5
  %1358 = icmp ule i32 %1357, 25
  br i1 %1358, label %1364, label %1359

1359:                                             ; preds = %1356
  store i32 46, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #9
  br label %1445

1360:                                             ; preds = %1352
  %1361 = landingpad { ptr, i32 }
          cleanup
  %1362 = extractvalue { ptr, i32 } %1361, 0
  store ptr %1362, ptr %12, align 8
  %1363 = extractvalue { ptr, i32 } %1361, 1
  store i32 %1363, ptr %13, align 4
  br label %1457

1364:                                             ; preds = %1356
  call void @llvm.lifetime.start.p0(i64 24, ptr %139) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %139) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #9
  store i32 0, ptr %140, align 4, !tbaa !5
  br label %1365

1365:                                             ; preds = %1377, %1364
  %1366 = load i32, ptr %140, align 4, !tbaa !5
  %1367 = load i32, ptr %138, align 4, !tbaa !5
  %1368 = sub i32 25, %1367
  %1369 = shl i32 1, %1368
  %1370 = icmp ult i32 %1366, %1369
  br i1 %1370, label %1372, label %1371

1371:                                             ; preds = %1365
  store i32 49, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #9
  br label %1389

1372:                                             ; preds = %1365
  call void @llvm.lifetime.start.p0(i64 24, ptr %141) #9
  %1373 = load i32, ptr %138, align 4, !tbaa !5
  %1374 = shl i32 1, %1373
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %141, ptr noundef nonnull align 8 dereferenceable(7504) %137, i32 noundef %1374, i32 noundef 536870912)
          to label %1375 unwind label %1380

1375:                                             ; preds = %1372
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %139, ptr noundef nonnull align 8 dereferenceable(24) %141)
          to label %1376 unwind label %1384

1376:                                             ; preds = %1375
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %141) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %141) #9
  br label %1377

1377:                                             ; preds = %1376
  %1378 = load i32, ptr %140, align 4, !tbaa !5
  %1379 = add i32 %1378, 1
  store i32 %1379, ptr %140, align 4, !tbaa !5
  br label %1365, !llvm.loop !32

1380:                                             ; preds = %1372
  %1381 = landingpad { ptr, i32 }
          cleanup
  %1382 = extractvalue { ptr, i32 } %1381, 0
  store ptr %1382, ptr %12, align 8
  %1383 = extractvalue { ptr, i32 } %1381, 1
  store i32 %1383, ptr %13, align 4
  br label %1388

1384:                                             ; preds = %1375
  %1385 = landingpad { ptr, i32 }
          cleanup
  %1386 = extractvalue { ptr, i32 } %1385, 0
  store ptr %1386, ptr %12, align 8
  %1387 = extractvalue { ptr, i32 } %1385, 1
  store i32 %1387, ptr %13, align 4
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %141) #9
  br label %1388

1388:                                             ; preds = %1384, %1380
  call void @llvm.lifetime.end.p0(i64 24, ptr %141) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #9
  br label %1444

1389:                                             ; preds = %1371
  %1390 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.27)
          to label %1391 unwind label %1413

1391:                                             ; preds = %1389
  %1392 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %139) #9
  %1393 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %1390, i64 noundef %1392)
          to label %1394 unwind label %1413

1394:                                             ; preds = %1391
  %1395 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1393, ptr noundef @.str.28)
          to label %1396 unwind label %1413

1396:                                             ; preds = %1394
  %1397 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1395, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1398 unwind label %1413

1398:                                             ; preds = %1396
  %1399 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.41)
          to label %1400 unwind label %1413

1400:                                             ; preds = %1398
  %1401 = load i32, ptr %138, align 4, !tbaa !5
  %1402 = shl i32 1, %1401
  %1403 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1399, i32 noundef %1402)
          to label %1404 unwind label %1413

1404:                                             ; preds = %1400
  %1405 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1403, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1406 unwind label %1413

1406:                                             ; preds = %1404
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #9
  %1407 = load i32, ptr %138, align 4, !tbaa !5
  %1408 = sub i32 29, %1407
  store i32 %1408, ptr %142, align 4, !tbaa !5
  %1409 = load i8, ptr %9, align 1, !tbaa !11, !range !19, !noundef !20
  %1410 = trunc i8 %1409 to i1
  br i1 %1410, label %1411, label %1421

1411:                                             ; preds = %1406
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %139, i64 noundef 65536)
          to label %1412 unwind label %1417

1412:                                             ; preds = %1411
  br label %1421

1413:                                             ; preds = %1404, %1400, %1398, %1396, %1394, %1391, %1389
  %1414 = landingpad { ptr, i32 }
          cleanup
  %1415 = extractvalue { ptr, i32 } %1414, 0
  store ptr %1415, ptr %12, align 8
  %1416 = extractvalue { ptr, i32 } %1414, 1
  store i32 %1416, ptr %13, align 4
  br label %1444

1417:                                             ; preds = %1411
  %1418 = landingpad { ptr, i32 }
          cleanup
  %1419 = extractvalue { ptr, i32 } %1418, 0
  store ptr %1419, ptr %12, align 8
  %1420 = extractvalue { ptr, i32 } %1418, 1
  store i32 %1420, ptr %13, align 4
  br label %1443

1421:                                             ; preds = %1412, %1406
  call void @llvm.lifetime.start.p0(i64 6, ptr %143) #9
  %1422 = load i8, ptr %6, align 1, !tbaa !11, !range !19, !noundef !20
  %1423 = trunc i8 %1422 to i1
  %1424 = load i8, ptr %7, align 1, !tbaa !11, !range !19, !noundef !20
  %1425 = trunc i8 %1424 to i1
  %1426 = load i8, ptr %8, align 1, !tbaa !11, !range !19, !noundef !20
  %1427 = trunc i8 %1426 to i1
  invoke void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %143, i1 noundef zeroext true, i1 noundef zeroext %1423, i1 noundef zeroext %1425, i1 noundef zeroext %1427, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %1428 unwind label %1434

1428:                                             ; preds = %1421
  %1429 = load i32, ptr %142, align 4, !tbaa !5
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %144, i32 noundef %1429) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %139, ptr noundef nonnull align 1 dereferenceable(6) %143, ptr noundef %144)
          to label %1430 unwind label %1438

1430:                                             ; preds = %1428
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr %143) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %139) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %139) #9
  br label %1431

1431:                                             ; preds = %1430
  %1432 = load i32, ptr %138, align 4, !tbaa !5
  %1433 = add i32 %1432, 5
  store i32 %1433, ptr %138, align 4, !tbaa !5
  br label %1356, !llvm.loop !33

1434:                                             ; preds = %1421
  %1435 = landingpad { ptr, i32 }
          cleanup
  %1436 = extractvalue { ptr, i32 } %1435, 0
  store ptr %1436, ptr %12, align 8
  %1437 = extractvalue { ptr, i32 } %1435, 1
  store i32 %1437, ptr %13, align 4
  br label %1442

1438:                                             ; preds = %1428
  %1439 = landingpad { ptr, i32 }
          cleanup
  %1440 = extractvalue { ptr, i32 } %1439, 0
  store ptr %1440, ptr %12, align 8
  %1441 = extractvalue { ptr, i32 } %1439, 1
  store i32 %1441, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #9
  br label %1442

1442:                                             ; preds = %1438, %1434
  call void @llvm.lifetime.end.p0(i64 6, ptr %143) #9
  br label %1443

1443:                                             ; preds = %1442, %1417
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #9
  br label %1444

1444:                                             ; preds = %1443, %1413, %1388
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %139) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %139) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #9
  br label %1457

1445:                                             ; preds = %1359
  call void @llvm.lifetime.start.p0(i64 1, ptr %146) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %146) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %145, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %146)
          to label %1446 unwind label %1448

1446:                                             ; preds = %1445
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %145)
          to label %1447 unwind label %1452

1447:                                             ; preds = %1446
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %146) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %146) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 7504, ptr %137) #9
  br label %1956

1448:                                             ; preds = %1445
  %1449 = landingpad { ptr, i32 }
          cleanup
  %1450 = extractvalue { ptr, i32 } %1449, 0
  store ptr %1450, ptr %12, align 8
  %1451 = extractvalue { ptr, i32 } %1449, 1
  store i32 %1451, ptr %13, align 4
  br label %1456

1452:                                             ; preds = %1446
  %1453 = landingpad { ptr, i32 }
          cleanup
  %1454 = extractvalue { ptr, i32 } %1453, 0
  store ptr %1454, ptr %12, align 8
  %1455 = extractvalue { ptr, i32 } %1453, 1
  store i32 %1455, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #9
  br label %1456

1456:                                             ; preds = %1452, %1448
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %146) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %146) #9
  br label %1457

1457:                                             ; preds = %1456, %1444, %1360
  call void @llvm.lifetime.end.p0(i64 7504, ptr %137) #9
  br label %1958

1458:                                             ; preds = %1344
  %1459 = load ptr, ptr %36, align 8, !tbaa !9
  %1460 = call i32 @strcmp(ptr noundef %1459, ptr noundef @.str.43) #10
  %1461 = icmp eq i32 %1460, 0
  br i1 %1461, label %1462, label %1573

1462:                                             ; preds = %1458
  %1463 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.40)
          to label %1464 unwind label %409

1464:                                             ; preds = %1462
  %1465 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1463, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1466 unwind label %409

1466:                                             ; preds = %1464
  call void @llvm.lifetime.start.p0(i64 7504, ptr %147) #9
  %1467 = call i64 @time(ptr noundef null) #9
  %1468 = trunc i64 %1467 to i32
  invoke void @_ZN11FastPForLib22ClusteredDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %147, i32 noundef %1468)
          to label %1469 unwind label %1474

1469:                                             ; preds = %1466
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #9
  store i32 15, ptr %148, align 4, !tbaa !5
  br label %1470

1470:                                             ; preds = %1546, %1469
  %1471 = load i32, ptr %148, align 4, !tbaa !5
  %1472 = icmp ule i32 %1471, 20
  br i1 %1472, label %1478, label %1473

1473:                                             ; preds = %1470
  store i32 52, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #9
  br label %1560

1474:                                             ; preds = %1466
  %1475 = landingpad { ptr, i32 }
          cleanup
  %1476 = extractvalue { ptr, i32 } %1475, 0
  store ptr %1476, ptr %12, align 8
  %1477 = extractvalue { ptr, i32 } %1475, 1
  store i32 %1477, ptr %13, align 4
  br label %1572

1478:                                             ; preds = %1470
  call void @llvm.lifetime.start.p0(i64 24, ptr %149) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %149) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %150) #9
  store i64 0, ptr %150, align 8, !tbaa !34
  br label %1479

1479:                                             ; preds = %1492, %1478
  %1480 = load i64, ptr %150, align 8, !tbaa !34
  %1481 = load i32, ptr %148, align 4, !tbaa !5
  %1482 = sub i32 20, %1481
  %1483 = shl i32 1, %1482
  %1484 = zext i32 %1483 to i64
  %1485 = icmp ult i64 %1480, %1484
  br i1 %1485, label %1487, label %1486

1486:                                             ; preds = %1479
  store i32 55, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %150) #9
  br label %1504

1487:                                             ; preds = %1479
  call void @llvm.lifetime.start.p0(i64 24, ptr %151) #9
  %1488 = load i32, ptr %148, align 4, !tbaa !5
  %1489 = shl i32 1, %1488
  invoke void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %151, ptr noundef nonnull align 8 dereferenceable(7504) %147, i32 noundef %1489, i32 noundef 536870912)
          to label %1490 unwind label %1495

1490:                                             ; preds = %1487
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %149, ptr noundef nonnull align 8 dereferenceable(24) %151)
          to label %1491 unwind label %1499

1491:                                             ; preds = %1490
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %151) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %151) #9
  br label %1492

1492:                                             ; preds = %1491
  %1493 = load i64, ptr %150, align 8, !tbaa !34
  %1494 = add i64 %1493, 1
  store i64 %1494, ptr %150, align 8, !tbaa !34
  br label %1479, !llvm.loop !36

1495:                                             ; preds = %1487
  %1496 = landingpad { ptr, i32 }
          cleanup
  %1497 = extractvalue { ptr, i32 } %1496, 0
  store ptr %1497, ptr %12, align 8
  %1498 = extractvalue { ptr, i32 } %1496, 1
  store i32 %1498, ptr %13, align 4
  br label %1503

1499:                                             ; preds = %1490
  %1500 = landingpad { ptr, i32 }
          cleanup
  %1501 = extractvalue { ptr, i32 } %1500, 0
  store ptr %1501, ptr %12, align 8
  %1502 = extractvalue { ptr, i32 } %1500, 1
  store i32 %1502, ptr %13, align 4
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %151) #9
  br label %1503

1503:                                             ; preds = %1499, %1495
  call void @llvm.lifetime.end.p0(i64 24, ptr %151) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %150) #9
  br label %1559

1504:                                             ; preds = %1486
  %1505 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.27)
          to label %1506 unwind label %1528

1506:                                             ; preds = %1504
  %1507 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %149) #9
  %1508 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %1505, i64 noundef %1507)
          to label %1509 unwind label %1528

1509:                                             ; preds = %1506
  %1510 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1508, ptr noundef @.str.28)
          to label %1511 unwind label %1528

1511:                                             ; preds = %1509
  %1512 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1510, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1513 unwind label %1528

1513:                                             ; preds = %1511
  %1514 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.41)
          to label %1515 unwind label %1528

1515:                                             ; preds = %1513
  %1516 = load i32, ptr %148, align 4, !tbaa !5
  %1517 = shl i32 1, %1516
  %1518 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1514, i32 noundef %1517)
          to label %1519 unwind label %1528

1519:                                             ; preds = %1515
  %1520 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1518, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1521 unwind label %1528

1521:                                             ; preds = %1519
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #9
  %1522 = load i32, ptr %148, align 4, !tbaa !5
  %1523 = sub i32 29, %1522
  store i32 %1523, ptr %152, align 4, !tbaa !5
  %1524 = load i8, ptr %9, align 1, !tbaa !11, !range !19, !noundef !20
  %1525 = trunc i8 %1524 to i1
  br i1 %1525, label %1526, label %1536

1526:                                             ; preds = %1521
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %149, i64 noundef 65536)
          to label %1527 unwind label %1532

1527:                                             ; preds = %1526
  br label %1536

1528:                                             ; preds = %1519, %1515, %1513, %1511, %1509, %1506, %1504
  %1529 = landingpad { ptr, i32 }
          cleanup
  %1530 = extractvalue { ptr, i32 } %1529, 0
  store ptr %1530, ptr %12, align 8
  %1531 = extractvalue { ptr, i32 } %1529, 1
  store i32 %1531, ptr %13, align 4
  br label %1559

1532:                                             ; preds = %1526
  %1533 = landingpad { ptr, i32 }
          cleanup
  %1534 = extractvalue { ptr, i32 } %1533, 0
  store ptr %1534, ptr %12, align 8
  %1535 = extractvalue { ptr, i32 } %1533, 1
  store i32 %1535, ptr %13, align 4
  br label %1558

1536:                                             ; preds = %1527, %1521
  call void @llvm.lifetime.start.p0(i64 6, ptr %153) #9
  %1537 = load i8, ptr %6, align 1, !tbaa !11, !range !19, !noundef !20
  %1538 = trunc i8 %1537 to i1
  %1539 = load i8, ptr %7, align 1, !tbaa !11, !range !19, !noundef !20
  %1540 = trunc i8 %1539 to i1
  %1541 = load i8, ptr %8, align 1, !tbaa !11, !range !19, !noundef !20
  %1542 = trunc i8 %1541 to i1
  invoke void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %153, i1 noundef zeroext true, i1 noundef zeroext %1538, i1 noundef zeroext %1540, i1 noundef zeroext %1542, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %1543 unwind label %1549

1543:                                             ; preds = %1536
  %1544 = load i32, ptr %152, align 4, !tbaa !5
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %154, i32 noundef %1544) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %149, ptr noundef nonnull align 1 dereferenceable(6) %153, ptr noundef %154)
          to label %1545 unwind label %1553

1545:                                             ; preds = %1543
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr %153) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %149) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %149) #9
  br label %1546

1546:                                             ; preds = %1545
  %1547 = load i32, ptr %148, align 4, !tbaa !5
  %1548 = add i32 %1547, 5
  store i32 %1548, ptr %148, align 4, !tbaa !5
  br label %1470, !llvm.loop !37

1549:                                             ; preds = %1536
  %1550 = landingpad { ptr, i32 }
          cleanup
  %1551 = extractvalue { ptr, i32 } %1550, 0
  store ptr %1551, ptr %12, align 8
  %1552 = extractvalue { ptr, i32 } %1550, 1
  store i32 %1552, ptr %13, align 4
  br label %1557

1553:                                             ; preds = %1543
  %1554 = landingpad { ptr, i32 }
          cleanup
  %1555 = extractvalue { ptr, i32 } %1554, 0
  store ptr %1555, ptr %12, align 8
  %1556 = extractvalue { ptr, i32 } %1554, 1
  store i32 %1556, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #9
  br label %1557

1557:                                             ; preds = %1553, %1549
  call void @llvm.lifetime.end.p0(i64 6, ptr %153) #9
  br label %1558

1558:                                             ; preds = %1557, %1532
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #9
  br label %1559

1559:                                             ; preds = %1558, %1528, %1503
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %149) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %149) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #9
  br label %1572

1560:                                             ; preds = %1473
  call void @llvm.lifetime.start.p0(i64 1, ptr %156) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %156) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %155, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %156)
          to label %1561 unwind label %1563

1561:                                             ; preds = %1560
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %155)
          to label %1562 unwind label %1567

1562:                                             ; preds = %1561
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %156) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %156) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 7504, ptr %147) #9
  br label %1956

1563:                                             ; preds = %1560
  %1564 = landingpad { ptr, i32 }
          cleanup
  %1565 = extractvalue { ptr, i32 } %1564, 0
  store ptr %1565, ptr %12, align 8
  %1566 = extractvalue { ptr, i32 } %1564, 1
  store i32 %1566, ptr %13, align 4
  br label %1571

1567:                                             ; preds = %1561
  %1568 = landingpad { ptr, i32 }
          cleanup
  %1569 = extractvalue { ptr, i32 } %1568, 0
  store ptr %1569, ptr %12, align 8
  %1570 = extractvalue { ptr, i32 } %1568, 1
  store i32 %1570, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #9
  br label %1571

1571:                                             ; preds = %1567, %1563
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %156) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %156) #9
  br label %1572

1572:                                             ; preds = %1571, %1559, %1474
  call void @llvm.lifetime.end.p0(i64 7504, ptr %147) #9
  br label %1958

1573:                                             ; preds = %1458
  %1574 = load ptr, ptr %36, align 8, !tbaa !9
  %1575 = call i32 @strcmp(ptr noundef %1574, ptr noundef @.str.44) #10
  %1576 = icmp eq i32 %1575, 0
  br i1 %1576, label %1577, label %1688

1577:                                             ; preds = %1573
  %1578 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.30)
          to label %1579 unwind label %409

1579:                                             ; preds = %1577
  %1580 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1578, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1581 unwind label %409

1581:                                             ; preds = %1579
  call void @llvm.lifetime.start.p0(i64 7504, ptr %157) #9
  %1582 = call i64 @time(ptr noundef null) #9
  %1583 = trunc i64 %1582 to i32
  invoke void @_ZN11FastPForLib20UniformDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %157, i32 noundef %1583)
          to label %1584 unwind label %1589

1584:                                             ; preds = %1581
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #9
  store i32 15, ptr %158, align 4, !tbaa !5
  br label %1585

1585:                                             ; preds = %1661, %1584
  %1586 = load i32, ptr %158, align 4, !tbaa !5
  %1587 = icmp ule i32 %1586, 20
  br i1 %1587, label %1593, label %1588

1588:                                             ; preds = %1585
  store i32 58, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #9
  br label %1675

1589:                                             ; preds = %1581
  %1590 = landingpad { ptr, i32 }
          cleanup
  %1591 = extractvalue { ptr, i32 } %1590, 0
  store ptr %1591, ptr %12, align 8
  %1592 = extractvalue { ptr, i32 } %1590, 1
  store i32 %1592, ptr %13, align 4
  br label %1687

1593:                                             ; preds = %1585
  call void @llvm.lifetime.start.p0(i64 24, ptr %159) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %159) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %160) #9
  store i64 0, ptr %160, align 8, !tbaa !34
  br label %1594

1594:                                             ; preds = %1607, %1593
  %1595 = load i64, ptr %160, align 8, !tbaa !34
  %1596 = load i32, ptr %158, align 4, !tbaa !5
  %1597 = sub i32 20, %1596
  %1598 = shl i32 1, %1597
  %1599 = zext i32 %1598 to i64
  %1600 = icmp ult i64 %1595, %1599
  br i1 %1600, label %1602, label %1601

1601:                                             ; preds = %1594
  store i32 61, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #9
  br label %1619

1602:                                             ; preds = %1594
  call void @llvm.lifetime.start.p0(i64 24, ptr %161) #9
  %1603 = load i32, ptr %158, align 4, !tbaa !5
  %1604 = shl i32 1, %1603
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %161, ptr noundef nonnull align 8 dereferenceable(7504) %157, i32 noundef %1604, i32 noundef 536870912)
          to label %1605 unwind label %1610

1605:                                             ; preds = %1602
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %159, ptr noundef nonnull align 8 dereferenceable(24) %161)
          to label %1606 unwind label %1614

1606:                                             ; preds = %1605
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %161) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %161) #9
  br label %1607

1607:                                             ; preds = %1606
  %1608 = load i64, ptr %160, align 8, !tbaa !34
  %1609 = add i64 %1608, 1
  store i64 %1609, ptr %160, align 8, !tbaa !34
  br label %1594, !llvm.loop !38

1610:                                             ; preds = %1602
  %1611 = landingpad { ptr, i32 }
          cleanup
  %1612 = extractvalue { ptr, i32 } %1611, 0
  store ptr %1612, ptr %12, align 8
  %1613 = extractvalue { ptr, i32 } %1611, 1
  store i32 %1613, ptr %13, align 4
  br label %1618

1614:                                             ; preds = %1605
  %1615 = landingpad { ptr, i32 }
          cleanup
  %1616 = extractvalue { ptr, i32 } %1615, 0
  store ptr %1616, ptr %12, align 8
  %1617 = extractvalue { ptr, i32 } %1615, 1
  store i32 %1617, ptr %13, align 4
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %161) #9
  br label %1618

1618:                                             ; preds = %1614, %1610
  call void @llvm.lifetime.end.p0(i64 24, ptr %161) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #9
  br label %1674

1619:                                             ; preds = %1601
  %1620 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.27)
          to label %1621 unwind label %1643

1621:                                             ; preds = %1619
  %1622 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %159) #9
  %1623 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %1620, i64 noundef %1622)
          to label %1624 unwind label %1643

1624:                                             ; preds = %1621
  %1625 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1623, ptr noundef @.str.28)
          to label %1626 unwind label %1643

1626:                                             ; preds = %1624
  %1627 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1625, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1628 unwind label %1643

1628:                                             ; preds = %1626
  %1629 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.41)
          to label %1630 unwind label %1643

1630:                                             ; preds = %1628
  %1631 = load i32, ptr %158, align 4, !tbaa !5
  %1632 = shl i32 1, %1631
  %1633 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1629, i32 noundef %1632)
          to label %1634 unwind label %1643

1634:                                             ; preds = %1630
  %1635 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1633, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1636 unwind label %1643

1636:                                             ; preds = %1634
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #9
  %1637 = load i32, ptr %158, align 4, !tbaa !5
  %1638 = sub i32 29, %1637
  store i32 %1638, ptr %162, align 4, !tbaa !5
  %1639 = load i8, ptr %9, align 1, !tbaa !11, !range !19, !noundef !20
  %1640 = trunc i8 %1639 to i1
  br i1 %1640, label %1641, label %1651

1641:                                             ; preds = %1636
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %159, i64 noundef 65536)
          to label %1642 unwind label %1647

1642:                                             ; preds = %1641
  br label %1651

1643:                                             ; preds = %1634, %1630, %1628, %1626, %1624, %1621, %1619
  %1644 = landingpad { ptr, i32 }
          cleanup
  %1645 = extractvalue { ptr, i32 } %1644, 0
  store ptr %1645, ptr %12, align 8
  %1646 = extractvalue { ptr, i32 } %1644, 1
  store i32 %1646, ptr %13, align 4
  br label %1674

1647:                                             ; preds = %1641
  %1648 = landingpad { ptr, i32 }
          cleanup
  %1649 = extractvalue { ptr, i32 } %1648, 0
  store ptr %1649, ptr %12, align 8
  %1650 = extractvalue { ptr, i32 } %1648, 1
  store i32 %1650, ptr %13, align 4
  br label %1673

1651:                                             ; preds = %1642, %1636
  call void @llvm.lifetime.start.p0(i64 6, ptr %163) #9
  %1652 = load i8, ptr %6, align 1, !tbaa !11, !range !19, !noundef !20
  %1653 = trunc i8 %1652 to i1
  %1654 = load i8, ptr %7, align 1, !tbaa !11, !range !19, !noundef !20
  %1655 = trunc i8 %1654 to i1
  %1656 = load i8, ptr %8, align 1, !tbaa !11, !range !19, !noundef !20
  %1657 = trunc i8 %1656 to i1
  invoke void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %163, i1 noundef zeroext true, i1 noundef zeroext %1653, i1 noundef zeroext %1655, i1 noundef zeroext %1657, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %1658 unwind label %1664

1658:                                             ; preds = %1651
  %1659 = load i32, ptr %162, align 4, !tbaa !5
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %164, i32 noundef %1659) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %159, ptr noundef nonnull align 1 dereferenceable(6) %163, ptr noundef %164)
          to label %1660 unwind label %1668

1660:                                             ; preds = %1658
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr %163) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %159) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %159) #9
  br label %1661

1661:                                             ; preds = %1660
  %1662 = load i32, ptr %158, align 4, !tbaa !5
  %1663 = add i32 %1662, 5
  store i32 %1663, ptr %158, align 4, !tbaa !5
  br label %1585, !llvm.loop !39

1664:                                             ; preds = %1651
  %1665 = landingpad { ptr, i32 }
          cleanup
  %1666 = extractvalue { ptr, i32 } %1665, 0
  store ptr %1666, ptr %12, align 8
  %1667 = extractvalue { ptr, i32 } %1665, 1
  store i32 %1667, ptr %13, align 4
  br label %1672

1668:                                             ; preds = %1658
  %1669 = landingpad { ptr, i32 }
          cleanup
  %1670 = extractvalue { ptr, i32 } %1669, 0
  store ptr %1670, ptr %12, align 8
  %1671 = extractvalue { ptr, i32 } %1669, 1
  store i32 %1671, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #9
  br label %1672

1672:                                             ; preds = %1668, %1664
  call void @llvm.lifetime.end.p0(i64 6, ptr %163) #9
  br label %1673

1673:                                             ; preds = %1672, %1647
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #9
  br label %1674

1674:                                             ; preds = %1673, %1643, %1618
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %159) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %159) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #9
  br label %1687

1675:                                             ; preds = %1588
  call void @llvm.lifetime.start.p0(i64 1, ptr %166) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %166) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %165, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %166)
          to label %1676 unwind label %1678

1676:                                             ; preds = %1675
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %165)
          to label %1677 unwind label %1682

1677:                                             ; preds = %1676
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %166) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %166) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 7504, ptr %157) #9
  br label %1956

1678:                                             ; preds = %1675
  %1679 = landingpad { ptr, i32 }
          cleanup
  %1680 = extractvalue { ptr, i32 } %1679, 0
  store ptr %1680, ptr %12, align 8
  %1681 = extractvalue { ptr, i32 } %1679, 1
  store i32 %1681, ptr %13, align 4
  br label %1686

1682:                                             ; preds = %1676
  %1683 = landingpad { ptr, i32 }
          cleanup
  %1684 = extractvalue { ptr, i32 } %1683, 0
  store ptr %1684, ptr %12, align 8
  %1685 = extractvalue { ptr, i32 } %1683, 1
  store i32 %1685, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #9
  br label %1686

1686:                                             ; preds = %1682, %1678
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %166) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %166) #9
  br label %1687

1687:                                             ; preds = %1686, %1674, %1589
  call void @llvm.lifetime.end.p0(i64 7504, ptr %157) #9
  br label %1958

1688:                                             ; preds = %1573
  %1689 = load ptr, ptr %36, align 8, !tbaa !9
  %1690 = call i32 @strcmp(ptr noundef %1689, ptr noundef @.str.45) #10
  %1691 = icmp eq i32 %1690, 0
  br i1 %1691, label %1692, label %1809

1692:                                             ; preds = %1688
  %1693 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.40)
          to label %1694 unwind label %409

1694:                                             ; preds = %1692
  %1695 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1693, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1696 unwind label %409

1696:                                             ; preds = %1694
  call void @llvm.lifetime.start.p0(i64 7504, ptr %167) #9
  %1697 = call i64 @time(ptr noundef null) #9
  %1698 = trunc i64 %1697 to i32
  invoke void @_ZN11FastPForLib22ClusteredDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %167, i32 noundef %1698)
          to label %1699 unwind label %1704

1699:                                             ; preds = %1696
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #9
  store i32 15, ptr %168, align 4, !tbaa !5
  br label %1700

1700:                                             ; preds = %1782, %1699
  %1701 = load i32, ptr %168, align 4, !tbaa !5
  %1702 = icmp ule i32 %1701, 25
  br i1 %1702, label %1708, label %1703

1703:                                             ; preds = %1700
  store i32 64, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #9
  br label %1796

1704:                                             ; preds = %1696
  %1705 = landingpad { ptr, i32 }
          cleanup
  %1706 = extractvalue { ptr, i32 } %1705, 0
  store ptr %1706, ptr %12, align 8
  %1707 = extractvalue { ptr, i32 } %1705, 1
  store i32 %1707, ptr %13, align 4
  br label %1808

1708:                                             ; preds = %1700
  call void @llvm.lifetime.start.p0(i64 24, ptr %169) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %169) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %170) #9
  store i64 0, ptr %170, align 8, !tbaa !34
  br label %1709

1709:                                             ; preds = %1723, %1708
  %1710 = load i64, ptr %170, align 8, !tbaa !34
  %1711 = load i32, ptr %168, align 4, !tbaa !5
  %1712 = sub i32 25, %1711
  %1713 = shl i32 1, %1712
  %1714 = zext i32 %1713 to i64
  %1715 = icmp ult i64 %1710, %1714
  br i1 %1715, label %1717, label %1716

1716:                                             ; preds = %1709
  store i32 67, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #9
  br label %1740

1717:                                             ; preds = %1709
  call void @llvm.lifetime.start.p0(i64 24, ptr %171) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %172) #9
  %1718 = load i32, ptr %168, align 4, !tbaa !5
  %1719 = shl i32 1, %1718
  invoke void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %172, ptr noundef nonnull align 8 dereferenceable(7504) %167, i32 noundef %1719, i32 noundef 536870912)
          to label %1720 unwind label %1726

1720:                                             ; preds = %1717
  invoke void @_ZN11FastPForLib5diffsISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEET_RKS5_b(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %171, ptr noundef nonnull align 8 dereferenceable(24) %172, i1 noundef zeroext false)
          to label %1721 unwind label %1730

1721:                                             ; preds = %1720
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %169, ptr noundef nonnull align 8 dereferenceable(24) %171)
          to label %1722 unwind label %1734

1722:                                             ; preds = %1721
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %171) #9
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %172) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %172) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %171) #9
  br label %1723

1723:                                             ; preds = %1722
  %1724 = load i64, ptr %170, align 8, !tbaa !34
  %1725 = add i64 %1724, 1
  store i64 %1725, ptr %170, align 8, !tbaa !34
  br label %1709, !llvm.loop !40

1726:                                             ; preds = %1717
  %1727 = landingpad { ptr, i32 }
          cleanup
  %1728 = extractvalue { ptr, i32 } %1727, 0
  store ptr %1728, ptr %12, align 8
  %1729 = extractvalue { ptr, i32 } %1727, 1
  store i32 %1729, ptr %13, align 4
  br label %1739

1730:                                             ; preds = %1720
  %1731 = landingpad { ptr, i32 }
          cleanup
  %1732 = extractvalue { ptr, i32 } %1731, 0
  store ptr %1732, ptr %12, align 8
  %1733 = extractvalue { ptr, i32 } %1731, 1
  store i32 %1733, ptr %13, align 4
  br label %1738

1734:                                             ; preds = %1721
  %1735 = landingpad { ptr, i32 }
          cleanup
  %1736 = extractvalue { ptr, i32 } %1735, 0
  store ptr %1736, ptr %12, align 8
  %1737 = extractvalue { ptr, i32 } %1735, 1
  store i32 %1737, ptr %13, align 4
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %171) #9
  br label %1738

1738:                                             ; preds = %1734, %1730
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %172) #9
  br label %1739

1739:                                             ; preds = %1738, %1726
  call void @llvm.lifetime.end.p0(i64 24, ptr %172) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %171) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #9
  br label %1795

1740:                                             ; preds = %1716
  %1741 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.27)
          to label %1742 unwind label %1764

1742:                                             ; preds = %1740
  %1743 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %169) #9
  %1744 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %1741, i64 noundef %1743)
          to label %1745 unwind label %1764

1745:                                             ; preds = %1742
  %1746 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1744, ptr noundef @.str.46)
          to label %1747 unwind label %1764

1747:                                             ; preds = %1745
  %1748 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1746, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1749 unwind label %1764

1749:                                             ; preds = %1747
  %1750 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.41)
          to label %1751 unwind label %1764

1751:                                             ; preds = %1749
  %1752 = load i32, ptr %168, align 4, !tbaa !5
  %1753 = shl i32 1, %1752
  %1754 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1750, i32 noundef %1753)
          to label %1755 unwind label %1764

1755:                                             ; preds = %1751
  %1756 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1754, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1757 unwind label %1764

1757:                                             ; preds = %1755
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #9
  %1758 = load i32, ptr %168, align 4, !tbaa !5
  %1759 = sub i32 29, %1758
  store i32 %1759, ptr %173, align 4, !tbaa !5
  %1760 = load i8, ptr %9, align 1, !tbaa !11, !range !19, !noundef !20
  %1761 = trunc i8 %1760 to i1
  br i1 %1761, label %1762, label %1772

1762:                                             ; preds = %1757
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %169, i64 noundef 65536)
          to label %1763 unwind label %1768

1763:                                             ; preds = %1762
  br label %1772

1764:                                             ; preds = %1755, %1751, %1749, %1747, %1745, %1742, %1740
  %1765 = landingpad { ptr, i32 }
          cleanup
  %1766 = extractvalue { ptr, i32 } %1765, 0
  store ptr %1766, ptr %12, align 8
  %1767 = extractvalue { ptr, i32 } %1765, 1
  store i32 %1767, ptr %13, align 4
  br label %1795

1768:                                             ; preds = %1762
  %1769 = landingpad { ptr, i32 }
          cleanup
  %1770 = extractvalue { ptr, i32 } %1769, 0
  store ptr %1770, ptr %12, align 8
  %1771 = extractvalue { ptr, i32 } %1769, 1
  store i32 %1771, ptr %13, align 4
  br label %1794

1772:                                             ; preds = %1763, %1757
  call void @llvm.lifetime.start.p0(i64 6, ptr %174) #9
  %1773 = load i8, ptr %6, align 1, !tbaa !11, !range !19, !noundef !20
  %1774 = trunc i8 %1773 to i1
  %1775 = load i8, ptr %7, align 1, !tbaa !11, !range !19, !noundef !20
  %1776 = trunc i8 %1775 to i1
  %1777 = load i8, ptr %8, align 1, !tbaa !11, !range !19, !noundef !20
  %1778 = trunc i8 %1777 to i1
  invoke void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %174, i1 noundef zeroext false, i1 noundef zeroext %1774, i1 noundef zeroext %1776, i1 noundef zeroext %1778, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %1779 unwind label %1785

1779:                                             ; preds = %1772
  %1780 = load i32, ptr %173, align 4, !tbaa !5
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %175, i32 noundef %1780) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %169, ptr noundef nonnull align 1 dereferenceable(6) %174, ptr noundef %175)
          to label %1781 unwind label %1789

1781:                                             ; preds = %1779
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr %174) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %169) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %169) #9
  br label %1782

1782:                                             ; preds = %1781
  %1783 = load i32, ptr %168, align 4, !tbaa !5
  %1784 = add i32 %1783, 5
  store i32 %1784, ptr %168, align 4, !tbaa !5
  br label %1700, !llvm.loop !41

1785:                                             ; preds = %1772
  %1786 = landingpad { ptr, i32 }
          cleanup
  %1787 = extractvalue { ptr, i32 } %1786, 0
  store ptr %1787, ptr %12, align 8
  %1788 = extractvalue { ptr, i32 } %1786, 1
  store i32 %1788, ptr %13, align 4
  br label %1793

1789:                                             ; preds = %1779
  %1790 = landingpad { ptr, i32 }
          cleanup
  %1791 = extractvalue { ptr, i32 } %1790, 0
  store ptr %1791, ptr %12, align 8
  %1792 = extractvalue { ptr, i32 } %1790, 1
  store i32 %1792, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #9
  br label %1793

1793:                                             ; preds = %1789, %1785
  call void @llvm.lifetime.end.p0(i64 6, ptr %174) #9
  br label %1794

1794:                                             ; preds = %1793, %1768
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #9
  br label %1795

1795:                                             ; preds = %1794, %1764, %1739
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %169) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %169) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #9
  br label %1808

1796:                                             ; preds = %1703
  call void @llvm.lifetime.start.p0(i64 1, ptr %177) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %177) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %176, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %177)
          to label %1797 unwind label %1799

1797:                                             ; preds = %1796
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %176)
          to label %1798 unwind label %1803

1798:                                             ; preds = %1797
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %177) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %177) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 7504, ptr %167) #9
  br label %1956

1799:                                             ; preds = %1796
  %1800 = landingpad { ptr, i32 }
          cleanup
  %1801 = extractvalue { ptr, i32 } %1800, 0
  store ptr %1801, ptr %12, align 8
  %1802 = extractvalue { ptr, i32 } %1800, 1
  store i32 %1802, ptr %13, align 4
  br label %1807

1803:                                             ; preds = %1797
  %1804 = landingpad { ptr, i32 }
          cleanup
  %1805 = extractvalue { ptr, i32 } %1804, 0
  store ptr %1805, ptr %12, align 8
  %1806 = extractvalue { ptr, i32 } %1804, 1
  store i32 %1806, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #9
  br label %1807

1807:                                             ; preds = %1803, %1799
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %177) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %177) #9
  br label %1808

1808:                                             ; preds = %1807, %1795, %1704
  call void @llvm.lifetime.end.p0(i64 7504, ptr %167) #9
  br label %1958

1809:                                             ; preds = %1688
  %1810 = load ptr, ptr %36, align 8, !tbaa !9
  %1811 = call i32 @strcmp(ptr noundef %1810, ptr noundef @.str.47) #10
  %1812 = icmp eq i32 %1811, 0
  br i1 %1812, label %1813, label %1930

1813:                                             ; preds = %1809
  %1814 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.30)
          to label %1815 unwind label %409

1815:                                             ; preds = %1813
  %1816 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1814, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1817 unwind label %409

1817:                                             ; preds = %1815
  call void @llvm.lifetime.start.p0(i64 7504, ptr %178) #9
  %1818 = call i64 @time(ptr noundef null) #9
  %1819 = trunc i64 %1818 to i32
  invoke void @_ZN11FastPForLib20UniformDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %178, i32 noundef %1819)
          to label %1820 unwind label %1825

1820:                                             ; preds = %1817
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #9
  store i32 15, ptr %179, align 4, !tbaa !5
  br label %1821

1821:                                             ; preds = %1903, %1820
  %1822 = load i32, ptr %179, align 4, !tbaa !5
  %1823 = icmp ule i32 %1822, 25
  br i1 %1823, label %1829, label %1824

1824:                                             ; preds = %1821
  store i32 70, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #9
  br label %1917

1825:                                             ; preds = %1817
  %1826 = landingpad { ptr, i32 }
          cleanup
  %1827 = extractvalue { ptr, i32 } %1826, 0
  store ptr %1827, ptr %12, align 8
  %1828 = extractvalue { ptr, i32 } %1826, 1
  store i32 %1828, ptr %13, align 4
  br label %1929

1829:                                             ; preds = %1821
  call void @llvm.lifetime.start.p0(i64 24, ptr %180) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %180) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %181) #9
  store i64 0, ptr %181, align 8, !tbaa !34
  br label %1830

1830:                                             ; preds = %1844, %1829
  %1831 = load i64, ptr %181, align 8, !tbaa !34
  %1832 = load i32, ptr %179, align 4, !tbaa !5
  %1833 = sub i32 25, %1832
  %1834 = shl i32 1, %1833
  %1835 = zext i32 %1834 to i64
  %1836 = icmp ult i64 %1831, %1835
  br i1 %1836, label %1838, label %1837

1837:                                             ; preds = %1830
  store i32 73, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %181) #9
  br label %1861

1838:                                             ; preds = %1830
  call void @llvm.lifetime.start.p0(i64 24, ptr %182) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %183) #9
  %1839 = load i32, ptr %179, align 4, !tbaa !5
  %1840 = shl i32 1, %1839
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %183, ptr noundef nonnull align 8 dereferenceable(7504) %178, i32 noundef %1840, i32 noundef 536870912)
          to label %1841 unwind label %1847

1841:                                             ; preds = %1838
  invoke void @_ZN11FastPForLib5diffsISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEET_RKS5_b(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %182, ptr noundef nonnull align 8 dereferenceable(24) %183, i1 noundef zeroext false)
          to label %1842 unwind label %1851

1842:                                             ; preds = %1841
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %180, ptr noundef nonnull align 8 dereferenceable(24) %182)
          to label %1843 unwind label %1855

1843:                                             ; preds = %1842
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %182) #9
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %183) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %183) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %182) #9
  br label %1844

1844:                                             ; preds = %1843
  %1845 = load i64, ptr %181, align 8, !tbaa !34
  %1846 = add i64 %1845, 1
  store i64 %1846, ptr %181, align 8, !tbaa !34
  br label %1830, !llvm.loop !42

1847:                                             ; preds = %1838
  %1848 = landingpad { ptr, i32 }
          cleanup
  %1849 = extractvalue { ptr, i32 } %1848, 0
  store ptr %1849, ptr %12, align 8
  %1850 = extractvalue { ptr, i32 } %1848, 1
  store i32 %1850, ptr %13, align 4
  br label %1860

1851:                                             ; preds = %1841
  %1852 = landingpad { ptr, i32 }
          cleanup
  %1853 = extractvalue { ptr, i32 } %1852, 0
  store ptr %1853, ptr %12, align 8
  %1854 = extractvalue { ptr, i32 } %1852, 1
  store i32 %1854, ptr %13, align 4
  br label %1859

1855:                                             ; preds = %1842
  %1856 = landingpad { ptr, i32 }
          cleanup
  %1857 = extractvalue { ptr, i32 } %1856, 0
  store ptr %1857, ptr %12, align 8
  %1858 = extractvalue { ptr, i32 } %1856, 1
  store i32 %1858, ptr %13, align 4
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %182) #9
  br label %1859

1859:                                             ; preds = %1855, %1851
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %183) #9
  br label %1860

1860:                                             ; preds = %1859, %1847
  call void @llvm.lifetime.end.p0(i64 24, ptr %183) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %182) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %181) #9
  br label %1916

1861:                                             ; preds = %1837
  %1862 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.27)
          to label %1863 unwind label %1885

1863:                                             ; preds = %1861
  %1864 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %180) #9
  %1865 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %1862, i64 noundef %1864)
          to label %1866 unwind label %1885

1866:                                             ; preds = %1863
  %1867 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1865, ptr noundef @.str.46)
          to label %1868 unwind label %1885

1868:                                             ; preds = %1866
  %1869 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1867, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1870 unwind label %1885

1870:                                             ; preds = %1868
  %1871 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.41)
          to label %1872 unwind label %1885

1872:                                             ; preds = %1870
  %1873 = load i32, ptr %179, align 4, !tbaa !5
  %1874 = shl i32 1, %1873
  %1875 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1871, i32 noundef %1874)
          to label %1876 unwind label %1885

1876:                                             ; preds = %1872
  %1877 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1875, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1878 unwind label %1885

1878:                                             ; preds = %1876
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #9
  %1879 = load i32, ptr %179, align 4, !tbaa !5
  %1880 = sub i32 29, %1879
  store i32 %1880, ptr %184, align 4, !tbaa !5
  %1881 = load i8, ptr %9, align 1, !tbaa !11, !range !19, !noundef !20
  %1882 = trunc i8 %1881 to i1
  br i1 %1882, label %1883, label %1893

1883:                                             ; preds = %1878
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %180, i64 noundef 65536)
          to label %1884 unwind label %1889

1884:                                             ; preds = %1883
  br label %1893

1885:                                             ; preds = %1876, %1872, %1870, %1868, %1866, %1863, %1861
  %1886 = landingpad { ptr, i32 }
          cleanup
  %1887 = extractvalue { ptr, i32 } %1886, 0
  store ptr %1887, ptr %12, align 8
  %1888 = extractvalue { ptr, i32 } %1886, 1
  store i32 %1888, ptr %13, align 4
  br label %1916

1889:                                             ; preds = %1883
  %1890 = landingpad { ptr, i32 }
          cleanup
  %1891 = extractvalue { ptr, i32 } %1890, 0
  store ptr %1891, ptr %12, align 8
  %1892 = extractvalue { ptr, i32 } %1890, 1
  store i32 %1892, ptr %13, align 4
  br label %1915

1893:                                             ; preds = %1884, %1878
  call void @llvm.lifetime.start.p0(i64 6, ptr %185) #9
  %1894 = load i8, ptr %6, align 1, !tbaa !11, !range !19, !noundef !20
  %1895 = trunc i8 %1894 to i1
  %1896 = load i8, ptr %7, align 1, !tbaa !11, !range !19, !noundef !20
  %1897 = trunc i8 %1896 to i1
  %1898 = load i8, ptr %8, align 1, !tbaa !11, !range !19, !noundef !20
  %1899 = trunc i8 %1898 to i1
  invoke void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %185, i1 noundef zeroext false, i1 noundef zeroext %1895, i1 noundef zeroext %1897, i1 noundef zeroext %1899, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %1900 unwind label %1906

1900:                                             ; preds = %1893
  %1901 = load i32, ptr %184, align 4, !tbaa !5
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %186, i32 noundef %1901) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %180, ptr noundef nonnull align 1 dereferenceable(6) %185, ptr noundef %186)
          to label %1902 unwind label %1910

1902:                                             ; preds = %1900
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %186) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr %185) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %180) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %180) #9
  br label %1903

1903:                                             ; preds = %1902
  %1904 = load i32, ptr %179, align 4, !tbaa !5
  %1905 = add i32 %1904, 5
  store i32 %1905, ptr %179, align 4, !tbaa !5
  br label %1821, !llvm.loop !43

1906:                                             ; preds = %1893
  %1907 = landingpad { ptr, i32 }
          cleanup
  %1908 = extractvalue { ptr, i32 } %1907, 0
  store ptr %1908, ptr %12, align 8
  %1909 = extractvalue { ptr, i32 } %1907, 1
  store i32 %1909, ptr %13, align 4
  br label %1914

1910:                                             ; preds = %1900
  %1911 = landingpad { ptr, i32 }
          cleanup
  %1912 = extractvalue { ptr, i32 } %1911, 0
  store ptr %1912, ptr %12, align 8
  %1913 = extractvalue { ptr, i32 } %1911, 1
  store i32 %1913, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %186) #9
  br label %1914

1914:                                             ; preds = %1910, %1906
  call void @llvm.lifetime.end.p0(i64 6, ptr %185) #9
  br label %1915

1915:                                             ; preds = %1914, %1889
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #9
  br label %1916

1916:                                             ; preds = %1915, %1885, %1860
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %180) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %180) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #9
  br label %1929

1917:                                             ; preds = %1824
  call void @llvm.lifetime.start.p0(i64 1, ptr %188) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %188) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %187, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %188)
          to label %1918 unwind label %1920

1918:                                             ; preds = %1917
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %187)
          to label %1919 unwind label %1924

1919:                                             ; preds = %1918
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %188) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %188) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 7504, ptr %178) #9
  br label %1956

1920:                                             ; preds = %1917
  %1921 = landingpad { ptr, i32 }
          cleanup
  %1922 = extractvalue { ptr, i32 } %1921, 0
  store ptr %1922, ptr %12, align 8
  %1923 = extractvalue { ptr, i32 } %1921, 1
  store i32 %1923, ptr %13, align 4
  br label %1928

1924:                                             ; preds = %1918
  %1925 = landingpad { ptr, i32 }
          cleanup
  %1926 = extractvalue { ptr, i32 } %1925, 0
  store ptr %1926, ptr %12, align 8
  %1927 = extractvalue { ptr, i32 } %1925, 1
  store i32 %1927, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #9
  br label %1928

1928:                                             ; preds = %1924, %1920
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %188) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %188) #9
  br label %1929

1929:                                             ; preds = %1928, %1916, %1825
  call void @llvm.lifetime.end.p0(i64 7504, ptr %178) #9
  br label %1958

1930:                                             ; preds = %1809
  %1931 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.48)
          to label %1932 unwind label %409

1932:                                             ; preds = %1930
  %1933 = load ptr, ptr %36, align 8, !tbaa !9
  %1934 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1931, ptr noundef %1933)
          to label %1935 unwind label %409

1935:                                             ; preds = %1932
  %1936 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1934, ptr noundef @.str.49)
          to label %1937 unwind label %409

1937:                                             ; preds = %1935
  %1938 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1936, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1939 unwind label %409

1939:                                             ; preds = %1937
  br label %1940

1940:                                             ; preds = %1939
  br label %1941

1941:                                             ; preds = %1940
  br label %1942

1942:                                             ; preds = %1941
  br label %1943

1943:                                             ; preds = %1942
  br label %1944

1944:                                             ; preds = %1943
  br label %1945

1945:                                             ; preds = %1944
  br label %1946

1946:                                             ; preds = %1945
  br label %1947

1947:                                             ; preds = %1946
  br label %1948

1948:                                             ; preds = %1947
  br label %1949

1949:                                             ; preds = %1948
  br label %1950

1950:                                             ; preds = %1949
  br label %1951

1951:                                             ; preds = %1950
  br label %1952

1952:                                             ; preds = %1951
  br label %1953

1953:                                             ; preds = %1952
  br label %1954

1954:                                             ; preds = %1953
  br label %1955

1955:                                             ; preds = %1954
  store i32 6, ptr %23, align 4
  br label %1956

1956:                                             ; preds = %1955, %1919, %1798, %1677, %1562, %1447, %1333, %1205, %1120, %1035, %950, %865, %780, %695, %610, %525, %448
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #9
  %1957 = load i32, ptr %23, align 4
  switch i32 %1957, label %1961 [
    i32 6, label %1960
  ]

1958:                                             ; preds = %1929, %1808, %1687, %1572, %1457, %1343, %1229, %1144, %1059, %974, %889, %804, %719, %634, %549, %472, %409
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #9
  br label %1964

1959:                                             ; preds = %241
  br label %1960

1960:                                             ; preds = %1959, %1956, %373, %372, %371, %370, %368, %247
  store i32 0, ptr %23, align 4
  br label %1961

1961:                                             ; preds = %1960, %1956, %383, %240
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #9
  %1962 = load i32, ptr %23, align 4
  switch i32 %1962, label %1971 [
    i32 0, label %1963
    i32 5, label %1965
  ]

1963:                                             ; preds = %1961
  br label %233, !llvm.loop !44

1964:                                             ; preds = %1958, %369, %248
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #9
  br label %1973

1965:                                             ; preds = %1961
  invoke void @_Z7messagev()
          to label %1966 unwind label %1967

1966:                                             ; preds = %1965
  store i32 0, ptr %3, align 4
  store i32 1, ptr %23, align 4
  br label %1971

1967:                                             ; preds = %1965
  %1968 = landingpad { ptr, i32 }
          cleanup
  %1969 = extractvalue { ptr, i32 } %1968, 0
  store ptr %1969, ptr %12, align 8
  %1970 = extractvalue { ptr, i32 } %1968, 1
  store i32 %1970, ptr %13, align 4
  br label %1973

1971:                                             ; preds = %1966, %1961
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #9
  call void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #9
  call void @_ZNSt6vectorISt10shared_ptrIN11FastPForLib12IntegerCODECEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #9
  call void @_ZN11FastPForLib12CODECFactoryD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %10) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr %10) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %8) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %6) #9
  %1972 = load i32, ptr %3, align 4
  ret i32 %1972

1973:                                             ; preds = %1967, %1964
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #9
  br label %1974

1974:                                             ; preds = %1973, %231
  call void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #9
  call void @_ZNSt6vectorISt10shared_ptrIN11FastPForLib12IntegerCODECEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  br label %1975

1975:                                             ; preds = %1974, %199
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #9
  call void @_ZN11FastPForLib12CODECFactoryD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %10) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr %10) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %8) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %6) #9
  br label %1976

1976:                                             ; preds = %1975
  %1977 = load ptr, ptr %12, align 8
  %1978 = load i32, ptr %13, align 4
  %1979 = insertvalue { ptr, i32 } poison, ptr %1977, 0
  %1980 = insertvalue { ptr, i32 } %1979, i32 %1978, 1
  resume { ptr, i32 } %1980
}

; Function Attrs: nounwind
declare void @srand(i32 noundef) #3

declare void @_ZN11FastPForLib12CODECFactory10allSchemesEv(ptr dead_on_unwind writable sret(%"class.std::vector.13") align 8, ptr noundef nonnull align 8 dereferenceable(48)) #6

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(185)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN11FastPForLib9algostatsC2ERSt10shared_ptrINS_12IntegerCODECEEb(ptr noundef nonnull align 8 dereferenceable(185), ptr noundef nonnull align 8 dereferenceable(16), i1 noundef zeroext) unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN11FastPForLib9algostatsD2Ev(ptr noundef nonnull align 8 dereferenceable(185)) unnamed_addr #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN11FastPForLib12IntegerCODECEESt6vectorIS4_SaIS4_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8)) #1 align 2

; Function Attrs: nounwind
declare i32 @getopt_long(i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24)) #1 align 2

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

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

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

; Function Attrs: nounwind
declare noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8)) #1 align 2

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

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZN11FastPForLib12CODECFactory11getFromNameENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef) #6

; Function Attrs: mustprogress nounwind uwtable
declare noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32)) #1 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(185) ptr @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11FastPForLib9algostats4nameB5cxx11Ev(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(185)) #2 align 2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6), i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(6), ptr noundef) #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11FastPForLib20UniformDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504), i32 noundef) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind noalias writable sret(%"class.std::vector") align 8, ptr noundef nonnull align 8 dereferenceable(7504), i32 noundef, i32 noundef) #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11FastPForLib22ClusteredDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504), i32 noundef) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind noalias writable sret(%"class.std::vector") align 8, ptr noundef nonnull align 8 dereferenceable(7504), i32 noundef, i32 noundef) #2 align 2

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) #7

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11FastPForLib5diffsISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEET_RKS5_b(ptr dead_on_unwind noalias writable sret(%"class.std::vector") align 8, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) #2

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

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

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

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

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


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%struct.option = type { ptr, i32, ptr, i32 }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.2" = type { %"struct.std::_Vector_base.3" }
%"struct.std::_Vector_base.3" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.FastPForLib::CODECFactory" = type { %"class.std::map" }
%"class.std::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<FastPForLib::IntegerCODEC>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<FastPForLib::IntegerCODEC>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<FastPForLib::IntegerCODEC>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<FastPForLib::IntegerCODEC>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::vector.13" = type { %"struct.std::_Vector_base.14" }
%"struct.std::_Vector_base.14" = type { %"struct.std::_Vector_base<std::shared_ptr<FastPForLib::IntegerCODEC>, std::allocator<std::shared_ptr<FastPForLib::IntegerCODEC>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<FastPForLib::IntegerCODEC>, std::allocator<std::shared_ptr<FastPForLib::IntegerCODEC>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<FastPForLib::IntegerCODEC>, std::allocator<std::shared_ptr<FastPForLib::IntegerCODEC>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<FastPForLib::IntegerCODEC>, std::allocator<std::shared_ptr<FastPForLib::IntegerCODEC>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.18" = type { %"struct.std::_Vector_base.19" }
%"struct.std::_Vector_base.19" = type { %"struct.std::_Vector_base<FastPForLib::algostats, std::allocator<FastPForLib::algostats>>::_Vector_impl" }
%"struct.std::_Vector_base<FastPForLib::algostats, std::allocator<FastPForLib::algostats>>::_Vector_impl" = type { %"struct.std::_Vector_base<FastPForLib::algostats, std::allocator<FastPForLib::algostats>>::_Vector_impl_data" }
%"struct.std::_Vector_base<FastPForLib::algostats, std::allocator<FastPForLib::algostats>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator.23" = type { ptr }
%"struct.FastPForLib::algostats" = type <{ %"class.std::shared_ptr", %"class.std::vector.0", %"class.std::vector.0", %"class.std::vector.0", %"class.std::vector.0", %"class.std::vector.0", double, double, double, double, i64, i64, i8, [7 x i8] }>
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::vector.0" = type { %"struct.std::_Vector_base.1" }
%"struct.std::_Vector_base.1" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.7" = type { i8 }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.std::vector.24" = type { %"struct.std::_Vector_base.25" }
%"struct.std::_Vector_base.25" = type { %"struct.std::_Vector_base<std::vector<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>, std::allocator<std::vector<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>, std::allocator<std::vector<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>, std::allocator<std::vector<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>, std::allocator<std::vector<unsigned int, FastPForLib::AlignedSTLAllocator<unsigned int, 64>>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.FastPForLib::processparameters" = type { i8, i8, i8, i8, i8, i8 }
%"class.FastPForLib::UniformDataGenerator" = type { %"class.FastPForLib::ZRandom" }
%"class.FastPForLib::ZRandom" = type <{ [625 x i32], [4 x i8], [624 x ptr], i32, [4 x i8] }>
%"class.FastPForLib::ClusteredDataGenerator" = type { %"class.FastPForLib::UniformDataGenerator" }

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@_ZL12long_options = external hidden global [24 x %struct.option], align 16
@.str.10 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [65 x i8], align 1
@optarg = external local_unnamed_addr global ptr, align 8
@.str.12 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [2 x i8], align 1
@optind = external local_unnamed_addr global i32, align 4
@.str.17 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [23 x i8], align 1
@_ZSt4cerr = external global %"class.std::basic_ostream", align 8
@.str.48 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [16 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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11FastPForLib22generateZipfianArray32Ejdj(ptr dead_on_unwind noalias writable sret(%"class.std::vector") align 8, i32 noundef, double noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare i64 @time(ptr noundef) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11FastPForLib5splitERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr dead_on_unwind noalias writable sret(%"class.std::vector.2") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, i64 noundef) local_unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z7messagev() local_unnamed_addr #2

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

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

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

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i32 @strcmp(ptr nocapture noundef, ptr nocapture noundef) local_unnamed_addr #5

declare void @_ZN11FastPForLib12CODECFactoryC1Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #6

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #7

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1 align 2

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

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

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr noundef %1) local_unnamed_addr #8 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.FastPForLib::CODECFactory", align 8
  %4 = alloca %"class.std::vector.13", align 8
  %5 = alloca %"class.std::vector.18", align 8
  %6 = alloca %"class.__gnu_cxx::__normal_iterator.23", align 8
  %7 = alloca %"class.__gnu_cxx::__normal_iterator.23", align 8
  %8 = alloca %"struct.FastPForLib::algostats", align 8
  %9 = alloca %"struct.FastPForLib::algostats", align 8
  %10 = alloca i32, align 4
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::allocator.7", align 1
  %13 = alloca %"class.std::vector.2", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::allocator.7", align 1
  %16 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %17 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %18 = alloca %"struct.FastPForLib::algostats", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"struct.FastPForLib::algostats", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::vector.24", align 8
  %24 = alloca %"class.std::vector", align 8
  %25 = alloca %"struct.FastPForLib::processparameters", align 1
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::allocator.7", align 1
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::allocator.7", align 1
  %30 = alloca %"class.std::vector.24", align 8
  %31 = alloca %"class.std::vector", align 8
  %32 = alloca %"struct.FastPForLib::processparameters", align 1
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::allocator.7", align 1
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::allocator.7", align 1
  %37 = alloca %"class.std::vector.24", align 8
  %38 = alloca %"class.FastPForLib::UniformDataGenerator", align 8
  %39 = alloca %"class.std::vector", align 8
  %40 = alloca %"struct.FastPForLib::processparameters", align 1
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::allocator.7", align 1
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::allocator.7", align 1
  %45 = alloca %"class.std::vector.24", align 8
  %46 = alloca %"class.FastPForLib::UniformDataGenerator", align 8
  %47 = alloca %"class.std::vector", align 8
  %48 = alloca %"struct.FastPForLib::processparameters", align 1
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::allocator.7", align 1
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::allocator.7", align 1
  %53 = alloca %"class.std::vector.24", align 8
  %54 = alloca %"class.FastPForLib::ClusteredDataGenerator", align 8
  %55 = alloca %"class.std::vector", align 8
  %56 = alloca %"struct.FastPForLib::processparameters", align 1
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::allocator.7", align 1
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::allocator.7", align 1
  %61 = alloca %"class.std::vector.24", align 8
  %62 = alloca %"class.FastPForLib::ClusteredDataGenerator", align 8
  %63 = alloca %"class.std::vector", align 8
  %64 = alloca %"struct.FastPForLib::processparameters", align 1
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.std::allocator.7", align 1
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::allocator.7", align 1
  %69 = alloca %"class.std::vector.24", align 8
  %70 = alloca %"class.FastPForLib::UniformDataGenerator", align 8
  %71 = alloca %"class.std::vector", align 8
  %72 = alloca %"struct.FastPForLib::processparameters", align 1
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"class.std::allocator.7", align 1
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::allocator.7", align 1
  %77 = alloca %"class.std::vector.24", align 8
  %78 = alloca %"class.FastPForLib::UniformDataGenerator", align 8
  %79 = alloca %"class.std::vector", align 8
  %80 = alloca %"struct.FastPForLib::processparameters", align 1
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.std::allocator.7", align 1
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca %"class.std::allocator.7", align 1
  %85 = alloca %"class.std::vector.24", align 8
  %86 = alloca %"class.FastPForLib::ClusteredDataGenerator", align 8
  %87 = alloca %"class.std::vector", align 8
  %88 = alloca %"struct.FastPForLib::processparameters", align 1
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.std::allocator.7", align 1
  %91 = alloca %"class.std::__cxx11::basic_string", align 8
  %92 = alloca %"class.std::allocator.7", align 1
  %93 = alloca %"class.std::vector.24", align 8
  %94 = alloca %"class.FastPForLib::ClusteredDataGenerator", align 8
  %95 = alloca %"class.std::vector", align 8
  %96 = alloca %"struct.FastPForLib::processparameters", align 1
  %97 = alloca %"class.std::__cxx11::basic_string", align 8
  %98 = alloca %"class.std::allocator.7", align 1
  %99 = alloca %"class.std::__cxx11::basic_string", align 8
  %100 = alloca %"class.std::allocator.7", align 1
  %101 = alloca %"class.FastPForLib::ClusteredDataGenerator", align 8
  %102 = alloca %"class.std::vector.24", align 8
  %103 = alloca %"class.std::vector", align 8
  %104 = alloca %"struct.FastPForLib::processparameters", align 1
  %105 = alloca %"class.std::__cxx11::basic_string", align 8
  %106 = alloca %"class.std::__cxx11::basic_string", align 8
  %107 = alloca %"class.std::allocator.7", align 1
  %108 = alloca %"class.FastPForLib::UniformDataGenerator", align 8
  %109 = alloca %"class.std::vector.24", align 8
  %110 = alloca %"class.std::vector", align 8
  %111 = alloca %"struct.FastPForLib::processparameters", align 1
  %112 = alloca %"class.std::__cxx11::basic_string", align 8
  %113 = alloca %"class.std::__cxx11::basic_string", align 8
  %114 = alloca %"class.std::allocator.7", align 1
  %115 = alloca %"class.FastPForLib::ClusteredDataGenerator", align 8
  %116 = alloca %"class.std::vector.24", align 8
  %117 = alloca %"class.std::vector", align 8
  %118 = alloca %"struct.FastPForLib::processparameters", align 1
  %119 = alloca %"class.std::__cxx11::basic_string", align 8
  %120 = alloca %"class.std::__cxx11::basic_string", align 8
  %121 = alloca %"class.std::allocator.7", align 1
  %122 = alloca %"class.FastPForLib::UniformDataGenerator", align 8
  %123 = alloca %"class.std::vector.24", align 8
  %124 = alloca %"class.std::vector", align 8
  %125 = alloca %"struct.FastPForLib::processparameters", align 1
  %126 = alloca %"class.std::__cxx11::basic_string", align 8
  %127 = alloca %"class.std::__cxx11::basic_string", align 8
  %128 = alloca %"class.std::allocator.7", align 1
  %129 = alloca %"class.FastPForLib::ClusteredDataGenerator", align 8
  %130 = alloca %"class.std::vector.24", align 8
  %131 = alloca %"class.std::vector", align 8
  %132 = alloca %"class.std::vector", align 8
  %133 = alloca %"struct.FastPForLib::processparameters", align 1
  %134 = alloca %"class.std::__cxx11::basic_string", align 8
  %135 = alloca %"class.std::__cxx11::basic_string", align 8
  %136 = alloca %"class.std::allocator.7", align 1
  %137 = alloca %"class.FastPForLib::UniformDataGenerator", align 8
  %138 = alloca %"class.std::vector.24", align 8
  %139 = alloca %"class.std::vector", align 8
  %140 = alloca %"class.std::vector", align 8
  %141 = alloca %"struct.FastPForLib::processparameters", align 1
  %142 = alloca %"class.std::__cxx11::basic_string", align 8
  %143 = alloca %"class.std::__cxx11::basic_string", align 8
  %144 = alloca %"class.std::allocator.7", align 1
  tail call void @srand(i32 noundef 10) #9
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %3) #9
  call void @_ZN11FastPForLib12CODECFactoryC1Ev(ptr noundef nonnull align 8 dereferenceable(48) %3)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #9
  invoke void @_ZN11FastPForLib12CODECFactory10allSchemesEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.13") align 8 %4, ptr noundef nonnull align 8 dereferenceable(48) %3)
          to label %145 unwind label %149

145:                                              ; preds = %2
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #9
  call void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #9
  %146 = call ptr @_ZNSt6vectorISt10shared_ptrIN11FastPForLib12IntegerCODECEESaIS3_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  store ptr %146, ptr %6, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #9
  %147 = call ptr @_ZNSt6vectorISt10shared_ptrIN11FastPForLib12IntegerCODECEESaIS3_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  store ptr %147, ptr %7, align 8
  %148 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt10shared_ptrIN11FastPForLib12IntegerCODECEESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7) #9
  br i1 %148, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %153, %145
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #9
  br label %161

149:                                              ; preds = %2
  %150 = landingpad { ptr, i32 }
          cleanup
  br label %1340

.lr.ph:                                           ; preds = %145, %153
  %151 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN11FastPForLib12IntegerCODECEESt6vectorIS4_SaIS4_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #9
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %8) #9
  call void @_ZN11FastPForLib9algostatsC2ERSt10shared_ptrINS_12IntegerCODECEEb(ptr noundef nonnull align 8 dereferenceable(185) %8, ptr noundef nonnull align 8 dereferenceable(16) %151, i1 noundef zeroext false)
  invoke void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(185) %8)
          to label %152 unwind label %156

152:                                              ; preds = %.lr.ph
  call void @_ZN11FastPForLib9algostatsD2Ev(ptr noundef nonnull align 8 dereferenceable(185) %8) #9
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %8) #9
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %9) #9
  call void @_ZN11FastPForLib9algostatsC2ERSt10shared_ptrINS_12IntegerCODECEEb(ptr noundef nonnull align 8 dereferenceable(185) %9, ptr noundef nonnull align 8 dereferenceable(16) %151, i1 noundef zeroext true)
  invoke void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(185) %9)
          to label %153 unwind label %158

153:                                              ; preds = %152
  call void @_ZN11FastPForLib9algostatsD2Ev(ptr noundef nonnull align 8 dereferenceable(185) %9) #9
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %9) #9
  %154 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN11FastPForLib12IntegerCODECEESt6vectorIS4_SaIS4_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #9
  %155 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt10shared_ptrIN11FastPForLib12IntegerCODECEESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7) #9
  br i1 %155, label %.lr.ph, label %._crit_edge

156:                                              ; preds = %.lr.ph
  %157 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN11FastPForLib9algostatsD2Ev(ptr noundef nonnull align 8 dereferenceable(185) %8) #9
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %8) #9
  br label %160

158:                                              ; preds = %152
  %159 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN11FastPForLib9algostatsD2Ev(ptr noundef nonnull align 8 dereferenceable(185) %9) #9
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %9) #9
  br label %160

160:                                              ; preds = %158, %156
  %.pn456 = phi { ptr, i32 } [ %159, %158 ], [ %157, %156 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #9
  br label %1339

161:                                              ; preds = %1333, %._crit_edge
  %.0186 = phi i8 [ 1, %._crit_edge ], [ %.2188, %1333 ]
  %.0181 = phi i8 [ 0, %._crit_edge ], [ %.2183, %1333 ]
  %.0176 = phi i8 [ 0, %._crit_edge ], [ %.2178, %1333 ]
  %.0171 = phi i8 [ 1, %._crit_edge ], [ %.2173, %1333 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #9
  store i32 0, ptr %10, align 4, !tbaa !5
  %162 = call i32 @getopt_long(i32 noundef %0, ptr noundef %1, ptr noundef nonnull @.str.10, ptr noundef nonnull @_ZL12long_options, ptr noundef nonnull %10) #9
  switch i32 %162, label %1332 [
    i32 -1, label %1335
    i32 83, label %163
    i32 99, label %167
    i32 101, label %1333
    i32 72, label %252
    i32 115, label %253
    i32 102, label %254
    i32 0, label %255
  ]

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

165:                                              ; preds = %163
  %166 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %164, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1333 unwind label %.loopexit488

.loopexit488:                                     ; preds = %163, %165
  %lpad.loopexit490 = landingpad { ptr, i32 }
          cleanup
  br label %1334

.loopexit.split-lp489:                            ; preds = %258, %260, %262
  %lpad.loopexit.split-lp491 = landingpad { ptr, i32 }
          cleanup
  br label %1334

167:                                              ; preds = %161
  call void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #9
  %168 = load ptr, ptr @optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef %168, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %169 unwind label %177

169:                                              ; preds = %167
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #9
  %170 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.12) #9
  %.not = icmp eq i32 %170, 0
  br i1 %.not, label %250, label %171

171:                                              ; preds = %169
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull @.str.13, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %172 unwind label %179

172:                                              ; preds = %171
  invoke void @_ZN11FastPForLib5splitERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.2") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %173 unwind label %181

173:                                              ; preds = %172
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #9
  %174 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #9
  store ptr %174, ptr %16, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #9
  %175 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #9
  store ptr %175, ptr %17, align 8
  %176 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %17) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #9
  br i1 %176, label %.lr.ph618, label %._crit_edge619

._crit_edge619:                                   ; preds = %239, %173
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #9
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #9
  br label %250

177:                                              ; preds = %167
  %178 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #9
  br label %251

179:                                              ; preds = %171
  %180 = landingpad { ptr, i32 }
          cleanup
  br label %183

181:                                              ; preds = %172
  %182 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #9
  br label %183

183:                                              ; preds = %181, %179
  %.pn439 = phi { ptr, i32 } [ %182, %181 ], [ %180, %179 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #9
  br label %249

.lr.ph618:                                        ; preds = %173, %239
  %184 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.14)
          to label %185 unwind label %205

185:                                              ; preds = %.lr.ph618
  %186 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %16) #9
  %187 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %184, ptr noundef nonnull align 8 dereferenceable(32) %186)
          to label %188 unwind label %205

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

190:                                              ; preds = %188
  %191 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16) #9
  %192 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEm(ptr noundef nonnull align 8 dereferenceable(32) %191, i64 noundef 0)
          to label %193 unwind label %205

193:                                              ; preds = %190
  %194 = load i8, ptr %192, align 1, !tbaa !11
  %195 = icmp eq i8 %194, 64
  br i1 %195, label %196, label %215

196:                                              ; preds = %193
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %18) #9
  %197 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16) #9
  %198 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16) #9
  %199 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %198) #9
  %200 = add i64 %199, -1
  invoke void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 8 dereferenceable(32) %197, i64 noundef 1, i64 noundef %200)
          to label %201 unwind label %207

201:                                              ; preds = %196
  %202 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN11FastPForLib12CODECFactory11getFromNameENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull %19)
          to label %203 unwind label %209

203:                                              ; preds = %201
  call void @_ZN11FastPForLib9algostatsC2ERSt10shared_ptrINS_12IntegerCODECEEb(ptr noundef nonnull align 8 dereferenceable(185) %18, ptr noundef nonnull align 8 dereferenceable(16) %202, i1 noundef zeroext true)
  invoke void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(185) %18)
          to label %204 unwind label %211

204:                                              ; preds = %203
  call void @_ZN11FastPForLib9algostatsD2Ev(ptr noundef nonnull align 8 dereferenceable(185) %18) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #9
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %18) #9
  br label %229

205:                                              ; preds = %229, %190, %188, %185, %.lr.ph618
  %206 = landingpad { ptr, i32 }
          cleanup
  br label %248

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

209:                                              ; preds = %201
  %210 = landingpad { ptr, i32 }
          cleanup
  br label %213

211:                                              ; preds = %203
  %212 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN11FastPForLib9algostatsD2Ev(ptr noundef nonnull align 8 dereferenceable(185) %18) #9
  br label %213

213:                                              ; preds = %211, %209
  %.pn444 = phi { ptr, i32 } [ %212, %211 ], [ %210, %209 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #9
  br label %214

214:                                              ; preds = %213, %207
  %.pn444.pn = phi { ptr, i32 } [ %.pn444, %213 ], [ %208, %207 ]
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %18) #9
  br label %248

215:                                              ; preds = %193
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %20) #9
  %216 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %16) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %216)
          to label %217 unwind label %221

217:                                              ; preds = %215
  %218 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN11FastPForLib12CODECFactory11getFromNameENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull %21)
          to label %219 unwind label %223

219:                                              ; preds = %217
  call void @_ZN11FastPForLib9algostatsC2ERSt10shared_ptrINS_12IntegerCODECEEb(ptr noundef nonnull align 8 dereferenceable(185) %20, ptr noundef nonnull align 8 dereferenceable(16) %218, i1 noundef zeroext false)
  invoke void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(185) %20)
          to label %220 unwind label %225

220:                                              ; preds = %219
  call void @_ZN11FastPForLib9algostatsD2Ev(ptr noundef nonnull align 8 dereferenceable(185) %20) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #9
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %20) #9
  br label %229

221:                                              ; preds = %215
  %222 = landingpad { ptr, i32 }
          cleanup
  br label %228

223:                                              ; preds = %217
  %224 = landingpad { ptr, i32 }
          cleanup
  br label %227

225:                                              ; preds = %219
  %226 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN11FastPForLib9algostatsD2Ev(ptr noundef nonnull align 8 dereferenceable(185) %20) #9
  br label %227

227:                                              ; preds = %225, %223
  %.pn441 = phi { ptr, i32 } [ %226, %225 ], [ %224, %223 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #9
  br label %228

228:                                              ; preds = %227, %221
  %.pn441.pn = phi { ptr, i32 } [ %.pn441, %227 ], [ %222, %221 ]
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %20) #9
  br label %248

229:                                              ; preds = %220, %204
  %230 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.15)
          to label %231 unwind label %205

231:                                              ; preds = %229
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #9
  %232 = call noundef nonnull align 8 dereferenceable(185) ptr @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  invoke void @_ZN11FastPForLib9algostats4nameB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 8 dereferenceable(185) %232)
          to label %233 unwind label %243

233:                                              ; preds = %231
  %234 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %230, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %235 unwind label %245

235:                                              ; preds = %233
  %236 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %234, ptr noundef nonnull @.str.16)
          to label %237 unwind label %245

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

239:                                              ; preds = %237
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #9
  %240 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %16) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #9
  %241 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #9
  store ptr %241, ptr %17, align 8
  %242 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %17) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #9
  br i1 %242, label %.lr.ph618, label %._crit_edge619, !llvm.loop !12

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

245:                                              ; preds = %237, %235, %233
  %246 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #9
  br label %247

247:                                              ; preds = %245, %243
  %.pn447 = phi { ptr, i32 } [ %246, %245 ], [ %244, %243 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #9
  br label %248

248:                                              ; preds = %247, %228, %214, %205
  %.pn447.pn = phi { ptr, i32 } [ %.pn447, %247 ], [ %206, %205 ], [ %.pn444.pn, %214 ], [ %.pn441.pn, %228 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #9
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #9
  br label %249

249:                                              ; preds = %248, %183
  %.pn447.pn.pn = phi { ptr, i32 } [ %.pn447.pn, %248 ], [ %.pn439, %183 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #9
  br label %251

250:                                              ; preds = %._crit_edge619, %169
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #9
  br label %1333

251:                                              ; preds = %249, %177
  %.pn447.pn.pn.pn = phi { ptr, i32 } [ %.pn447.pn.pn, %249 ], [ %178, %177 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #9
  br label %1334

252:                                              ; preds = %161
  br label %1333

253:                                              ; preds = %161
  br label %1333

254:                                              ; preds = %161
  br label %1333

255:                                              ; preds = %161
  %256 = load i32, ptr @optind, align 4, !tbaa !5
  %257 = icmp slt i32 %256, %0
  br i1 %257, label %258, label %263

258:                                              ; preds = %255
  %259 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.17)
          to label %260 unwind label %.loopexit.split-lp489

260:                                              ; preds = %258
  %261 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %259, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %262 unwind label %.loopexit.split-lp489

262:                                              ; preds = %260
  invoke void @_Z7messagev()
          to label %.thread463 unwind label %.loopexit.split-lp489

263:                                              ; preds = %255
  %264 = load i32, ptr %10, align 4, !tbaa !5
  %265 = sext i32 %264 to i64
  %266 = getelementptr inbounds [24 x %struct.option], ptr @_ZL12long_options, i64 0, i64 %265
  %267 = load ptr, ptr %266, align 16, !tbaa !14
  %268 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.18)
          to label %269 unwind label %.loopexit

269:                                              ; preds = %263
  %270 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %268, ptr noundef %267)
          to label %271 unwind label %.loopexit

271:                                              ; preds = %269
  %272 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %270, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %273 unwind label %.loopexit

273:                                              ; preds = %271
  %274 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %267, ptr noundef nonnull dereferenceable(1) @.str.19) #10
  %275 = icmp eq i32 %274, 0
  br i1 %275, label %276, label %312

276:                                              ; preds = %273
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %23) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #9
  %277 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.20)
          to label %278 unwind label %280

278:                                              ; preds = %276
  %279 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %277, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %.preheader.preheader unwind label %280

.preheader.preheader:                             ; preds = %278
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24) #9
  invoke void @_ZN11FastPForLib22generateZipfianArray32Ejdj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %24, i32 noundef 67108864, double noundef 1.000000e+00, i32 noundef 1048576)
          to label %282 unwind label %286

.loopexit:                                        ; preds = %263, %269, %271, %1324, %1326, %1328, %1330
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %1334

.loopexit.split-lp:                               ; preds = %360, %362, %412, %414, %464, %466, %516, %518, %568, %570, %625, %627, %677, %679, %727, %729, %779, %781, %877, %879, %975, %977, %1051, %1053, %1127, %1129, %1227, %1229
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %1334

280:                                              ; preds = %291, %278, %276
  %281 = landingpad { ptr, i32 }
          cleanup
  br label %311

282:                                              ; preds = %.preheader.preheader
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(24) %24)
          to label %.preheader.1 unwind label %288

.preheader.1:                                     ; preds = %282
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24) #9
  invoke void @_ZN11FastPForLib22generateZipfianArray32Ejdj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %24, i32 noundef 67108864, double noundef 1.000000e+00, i32 noundef 1048576)
          to label %283 unwind label %286

283:                                              ; preds = %.preheader.1
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(24) %24)
          to label %284 unwind label %288

284:                                              ; preds = %283
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #9
  %285 = trunc nuw i8 %.0186 to i1
  br i1 %285, label %291, label %292

286:                                              ; preds = %.preheader.1, %.preheader.preheader
  %287 = landingpad { ptr, i32 }
          cleanup
  br label %290

288:                                              ; preds = %283, %282
  %289 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #9
  br label %290

290:                                              ; preds = %288, %286
  %.pn435 = phi { ptr, i32 } [ %289, %288 ], [ %287, %286 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #9
  br label %311

291:                                              ; preds = %284
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef 65536)
          to label %292 unwind label %280

292:                                              ; preds = %291, %284
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %25) #9
  %293 = trunc nuw i8 %.0171 to i1
  %294 = trunc nuw i8 %.0176 to i1
  %295 = trunc nuw i8 %.0181 to i1
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %25, i1 noundef zeroext false, i1 noundef zeroext %293, i1 noundef zeroext %294, i1 noundef zeroext %295, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %27) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %27)
          to label %296 unwind label %300

296:                                              ; preds = %292
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 1 dereferenceable(6) %25, ptr noundef nonnull %26)
          to label %297 unwind label %302

297:                                              ; preds = %296
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %29) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %29)
          to label %298 unwind label %305

298:                                              ; preds = %297
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull %28)
          to label %299 unwind label %307

299:                                              ; preds = %298
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %25) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #9
  br label %.thread463

300:                                              ; preds = %292
  %301 = landingpad { ptr, i32 }
          cleanup
  br label %304

302:                                              ; preds = %296
  %303 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #9
  br label %304

304:                                              ; preds = %302, %300
  %.pn430 = phi { ptr, i32 } [ %303, %302 ], [ %301, %300 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #9
  br label %310

305:                                              ; preds = %297
  %306 = landingpad { ptr, i32 }
          cleanup
  br label %309

307:                                              ; preds = %298
  %308 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #9
  br label %309

309:                                              ; preds = %307, %305
  %.pn432 = phi { ptr, i32 } [ %308, %307 ], [ %306, %305 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #9
  br label %310

310:                                              ; preds = %309, %304
  %.pn432.pn = phi { ptr, i32 } [ %.pn432, %309 ], [ %.pn430, %304 ]
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %25) #9
  br label %311

311:                                              ; preds = %310, %290, %280
  %.pn435.pn = phi { ptr, i32 } [ %.pn435, %290 ], [ %.pn432.pn, %310 ], [ %281, %280 ]
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #9
  br label %1334

312:                                              ; preds = %273
  %313 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %267, ptr noundef nonnull dereferenceable(1) @.str.23) #10
  %314 = icmp eq i32 %313, 0
  br i1 %314, label %315, label %357

315:                                              ; preds = %312
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #9
  %316 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.24)
          to label %317 unwind label %324

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

319:                                              ; preds = %317
  %320 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.24)
          to label %321 unwind label %324

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

323:                                              ; preds = %321
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %31) #9
  invoke void @_ZN11FastPForLib22generateZipfianArray32Ejdj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %31, i32 noundef 67108864, double noundef 2.000000e+00, i32 noundef 1048576)
          to label %326 unwind label %330

324:                                              ; preds = %321, %319, %317, %315
  %325 = landingpad { ptr, i32 }
          cleanup
  br label %356

326:                                              ; preds = %323
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 8 dereferenceable(24) %31)
          to label %327 unwind label %332

327:                                              ; preds = %326
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #9
  %328 = trunc nuw i8 %.0186 to i1
  br i1 %328, label %329, label %337

329:                                              ; preds = %327
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef 65536)
          to label %337 unwind label %335

330:                                              ; preds = %323
  %331 = landingpad { ptr, i32 }
          cleanup
  br label %334

332:                                              ; preds = %326
  %333 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #9
  br label %334

334:                                              ; preds = %332, %330
  %.pn421 = phi { ptr, i32 } [ %333, %332 ], [ %331, %330 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #9
  br label %356

335:                                              ; preds = %329
  %336 = landingpad { ptr, i32 }
          cleanup
  br label %356

337:                                              ; preds = %329, %327
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %32) #9
  %338 = trunc nuw i8 %.0171 to i1
  %339 = trunc nuw i8 %.0176 to i1
  %340 = trunc nuw i8 %.0181 to i1
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %32, i1 noundef zeroext false, i1 noundef zeroext %338, i1 noundef zeroext %339, i1 noundef zeroext %340, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %34) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %34)
          to label %341 unwind label %345

341:                                              ; preds = %337
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 1 dereferenceable(6) %32, ptr noundef nonnull %33)
          to label %342 unwind label %347

342:                                              ; preds = %341
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %34) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %343 unwind label %350

343:                                              ; preds = %342
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull %35)
          to label %344 unwind label %352

344:                                              ; preds = %343
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %32) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #9
  br label %.thread463

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

347:                                              ; preds = %341
  %348 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #9
  br label %349

349:                                              ; preds = %347, %345
  %.pn423 = phi { ptr, i32 } [ %348, %347 ], [ %346, %345 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %34) #9
  br label %355

350:                                              ; preds = %342
  %351 = landingpad { ptr, i32 }
          cleanup
  br label %354

352:                                              ; preds = %343
  %353 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #9
  br label %354

354:                                              ; preds = %352, %350
  %.pn425 = phi { ptr, i32 } [ %353, %352 ], [ %351, %350 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #9
  br label %355

355:                                              ; preds = %354, %349
  %.pn425.pn = phi { ptr, i32 } [ %.pn425, %354 ], [ %.pn423, %349 ]
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %32) #9
  br label %356

356:                                              ; preds = %355, %335, %334, %324
  %.pn428 = phi { ptr, i32 } [ %325, %324 ], [ %.pn425.pn, %355 ], [ %336, %335 ], [ %.pn421, %334 ]
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #9
  br label %1334

357:                                              ; preds = %312
  %358 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %267, ptr noundef nonnull dereferenceable(1) @.str.25) #10
  %359 = icmp eq i32 %358, 0
  br i1 %359, label %360, label %409

360:                                              ; preds = %357
  %361 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.26)
          to label %362 unwind label %.loopexit.split-lp

362:                                              ; preds = %360
  %363 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %361, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %364 unwind label %.loopexit.split-lp

364:                                              ; preds = %362
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %37) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #9
  call void @llvm.lifetime.start.p0(i64 7504, ptr nonnull %38) #9
  %365 = call i64 @time(ptr noundef null) #9
  %366 = trunc i64 %365 to i32
  invoke void @_ZN11FastPForLib20UniformDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %38, i32 noundef %366)
          to label %.preheader475 unwind label %369

367:                                              ; preds = %372
  %368 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %379 unwind label %369

369:                                              ; preds = %388, %384, %382, %379, %367, %364
  %370 = landingpad { ptr, i32 }
          cleanup
  br label %408

.preheader475:                                    ; preds = %364, %372
  %.0205638 = phi i32 [ %373, %372 ], [ 0, %364 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %39) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %39, ptr noundef nonnull align 8 dereferenceable(7504) %38, i32 noundef 262144, i32 noundef 134217728)
          to label %371 unwind label %374

371:                                              ; preds = %.preheader475
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %37, ptr noundef nonnull align 8 dereferenceable(24) %39)
          to label %372 unwind label %376

372:                                              ; preds = %371
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %39) #9
  %373 = add nuw nsw i32 %.0205638, 1
  %exitcond875.not = icmp eq i32 %373, 32
  br i1 %exitcond875.not, label %367, label %.preheader475, !llvm.loop !16

374:                                              ; preds = %.preheader475
  %375 = landingpad { ptr, i32 }
          cleanup
  br label %378

376:                                              ; preds = %371
  %377 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #9
  br label %378

378:                                              ; preds = %376, %374
  %.pn418 = phi { ptr, i32 } [ %377, %376 ], [ %375, %374 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %39) #9
  br label %408

379:                                              ; preds = %367
  %380 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %37) #9
  %381 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %368, i64 noundef %380)
          to label %382 unwind label %369

382:                                              ; preds = %379
  %383 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %381, ptr noundef nonnull @.str.28)
          to label %384 unwind label %369

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

386:                                              ; preds = %384
  %387 = trunc nuw i8 %.0186 to i1
  br i1 %387, label %388, label %389

388:                                              ; preds = %386
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %37, i64 noundef 65536)
          to label %389 unwind label %369

389:                                              ; preds = %388, %386
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %40) #9
  %390 = trunc nuw i8 %.0171 to i1
  %391 = trunc nuw i8 %.0176 to i1
  %392 = trunc nuw i8 %.0181 to i1
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %40, i1 noundef zeroext true, i1 noundef zeroext %390, i1 noundef zeroext %391, i1 noundef zeroext %392, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %42) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %393 unwind label %397

393:                                              ; preds = %389
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %37, ptr noundef nonnull align 1 dereferenceable(6) %40, ptr noundef nonnull %41)
          to label %394 unwind label %399

394:                                              ; preds = %393
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %44) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %44)
          to label %395 unwind label %402

395:                                              ; preds = %394
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull %43)
          to label %396 unwind label %404

396:                                              ; preds = %395
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %44) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %40) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %38) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %37) #9
  br label %.thread463

397:                                              ; preds = %389
  %398 = landingpad { ptr, i32 }
          cleanup
  br label %401

399:                                              ; preds = %393
  %400 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #9
  br label %401

401:                                              ; preds = %399, %397
  %.pn413 = phi { ptr, i32 } [ %400, %399 ], [ %398, %397 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #9
  br label %407

402:                                              ; preds = %394
  %403 = landingpad { ptr, i32 }
          cleanup
  br label %406

404:                                              ; preds = %395
  %405 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #9
  br label %406

406:                                              ; preds = %404, %402
  %.pn415 = phi { ptr, i32 } [ %405, %404 ], [ %403, %402 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %44) #9
  br label %407

407:                                              ; preds = %406, %401
  %.pn415.pn = phi { ptr, i32 } [ %.pn415, %406 ], [ %.pn413, %401 ]
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %40) #9
  br label %408

408:                                              ; preds = %407, %378, %369
  %.pn418.pn = phi { ptr, i32 } [ %.pn418, %378 ], [ %.pn415.pn, %407 ], [ %370, %369 ]
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %38) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %37) #9
  br label %1334

409:                                              ; preds = %357
  %410 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %267, ptr noundef nonnull dereferenceable(1) @.str.29) #10
  %411 = icmp eq i32 %410, 0
  br i1 %411, label %412, label %461

412:                                              ; preds = %409
  %413 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.30)
          to label %414 unwind label %.loopexit.split-lp

414:                                              ; preds = %412
  %415 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %413, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %416 unwind label %.loopexit.split-lp

416:                                              ; preds = %414
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %45) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #9
  call void @llvm.lifetime.start.p0(i64 7504, ptr nonnull %46) #9
  %417 = call i64 @time(ptr noundef null) #9
  %418 = trunc i64 %417 to i32
  invoke void @_ZN11FastPForLib20UniformDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %46, i32 noundef %418)
          to label %.preheader476 unwind label %421

419:                                              ; preds = %424
  %420 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %431 unwind label %421

421:                                              ; preds = %440, %436, %434, %431, %419, %416
  %422 = landingpad { ptr, i32 }
          cleanup
  br label %460

.preheader476:                                    ; preds = %416, %424
  %.0204637 = phi i32 [ %425, %424 ], [ 0, %416 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %47) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %47, ptr noundef nonnull align 8 dereferenceable(7504) %46, i32 noundef 512, i32 noundef 134217728)
          to label %423 unwind label %426

423:                                              ; preds = %.preheader476
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(24) %47)
          to label %424 unwind label %428

424:                                              ; preds = %423
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %47) #9
  %425 = add nuw nsw i32 %.0204637, 1
  %exitcond874.not = icmp eq i32 %425, 16384
  br i1 %exitcond874.not, label %419, label %.preheader476, !llvm.loop !17

426:                                              ; preds = %.preheader476
  %427 = landingpad { ptr, i32 }
          cleanup
  br label %430

428:                                              ; preds = %423
  %429 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #9
  br label %430

430:                                              ; preds = %428, %426
  %.pn410 = phi { ptr, i32 } [ %429, %428 ], [ %427, %426 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %47) #9
  br label %460

431:                                              ; preds = %419
  %432 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %45) #9
  %433 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %420, i64 noundef %432)
          to label %434 unwind label %421

434:                                              ; preds = %431
  %435 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %433, ptr noundef nonnull @.str.28)
          to label %436 unwind label %421

436:                                              ; preds = %434
  %437 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %435, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %438 unwind label %421

438:                                              ; preds = %436
  %439 = trunc nuw i8 %.0186 to i1
  br i1 %439, label %440, label %441

440:                                              ; preds = %438
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %45, i64 noundef 65536)
          to label %441 unwind label %421

441:                                              ; preds = %440, %438
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %48) #9
  %442 = trunc nuw i8 %.0171 to i1
  %443 = trunc nuw i8 %.0176 to i1
  %444 = trunc nuw i8 %.0181 to i1
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %48, i1 noundef zeroext true, i1 noundef zeroext %442, i1 noundef zeroext %443, i1 noundef zeroext %444, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %50) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %50)
          to label %445 unwind label %449

445:                                              ; preds = %441
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 1 dereferenceable(6) %48, ptr noundef nonnull %49)
          to label %446 unwind label %451

446:                                              ; preds = %445
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %50) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %52) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %447 unwind label %454

447:                                              ; preds = %446
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull %51)
          to label %448 unwind label %456

448:                                              ; preds = %447
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %48) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %46) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) #9
  br label %.thread463

449:                                              ; preds = %441
  %450 = landingpad { ptr, i32 }
          cleanup
  br label %453

451:                                              ; preds = %445
  %452 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #9
  br label %453

453:                                              ; preds = %451, %449
  %.pn405 = phi { ptr, i32 } [ %452, %451 ], [ %450, %449 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %50) #9
  br label %459

454:                                              ; preds = %446
  %455 = landingpad { ptr, i32 }
          cleanup
  br label %458

456:                                              ; preds = %447
  %457 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #9
  br label %458

458:                                              ; preds = %456, %454
  %.pn407 = phi { ptr, i32 } [ %457, %456 ], [ %455, %454 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #9
  br label %459

459:                                              ; preds = %458, %453
  %.pn407.pn = phi { ptr, i32 } [ %.pn407, %458 ], [ %.pn405, %453 ]
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %48) #9
  br label %460

460:                                              ; preds = %459, %430, %421
  %.pn410.pn = phi { ptr, i32 } [ %.pn410, %430 ], [ %.pn407.pn, %459 ], [ %422, %421 ]
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %46) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) #9
  br label %1334

461:                                              ; preds = %409
  %462 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %267, ptr noundef nonnull dereferenceable(1) @.str.31) #10
  %463 = icmp eq i32 %462, 0
  br i1 %463, label %464, label %513

464:                                              ; preds = %461
  %465 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.32)
          to label %466 unwind label %.loopexit.split-lp

466:                                              ; preds = %464
  %467 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %465, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %468 unwind label %.loopexit.split-lp

468:                                              ; preds = %466
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %53) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #9
  call void @llvm.lifetime.start.p0(i64 7504, ptr nonnull %54) #9
  %469 = call i64 @time(ptr noundef null) #9
  %470 = trunc i64 %469 to i32
  invoke void @_ZN11FastPForLib22ClusteredDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %54, i32 noundef %470)
          to label %.preheader477 unwind label %473

471:                                              ; preds = %476
  %472 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %483 unwind label %473

473:                                              ; preds = %492, %488, %486, %483, %471, %468
  %474 = landingpad { ptr, i32 }
          cleanup
  br label %512

.preheader477:                                    ; preds = %468, %476
  %.0203636 = phi i32 [ %477, %476 ], [ 0, %468 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %55) #9
  invoke void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %55, ptr noundef nonnull align 8 dereferenceable(7504) %54, i32 noundef 262144, i32 noundef 134217728)
          to label %475 unwind label %478

475:                                              ; preds = %.preheader477
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %53, ptr noundef nonnull align 8 dereferenceable(24) %55)
          to label %476 unwind label %480

476:                                              ; preds = %475
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %55) #9
  %477 = add nuw nsw i32 %.0203636, 1
  %exitcond873.not = icmp eq i32 %477, 32
  br i1 %exitcond873.not, label %471, label %.preheader477, !llvm.loop !18

478:                                              ; preds = %.preheader477
  %479 = landingpad { ptr, i32 }
          cleanup
  br label %482

480:                                              ; preds = %475
  %481 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #9
  br label %482

482:                                              ; preds = %480, %478
  %.pn402 = phi { ptr, i32 } [ %481, %480 ], [ %479, %478 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %55) #9
  br label %512

483:                                              ; preds = %471
  %484 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %53) #9
  %485 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %472, i64 noundef %484)
          to label %486 unwind label %473

486:                                              ; preds = %483
  %487 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %485, ptr noundef nonnull @.str.28)
          to label %488 unwind label %473

488:                                              ; preds = %486
  %489 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %487, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %490 unwind label %473

490:                                              ; preds = %488
  %491 = trunc nuw i8 %.0186 to i1
  br i1 %491, label %492, label %493

492:                                              ; preds = %490
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %53, i64 noundef 65536)
          to label %493 unwind label %473

493:                                              ; preds = %492, %490
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %56) #9
  %494 = trunc nuw i8 %.0171 to i1
  %495 = trunc nuw i8 %.0176 to i1
  %496 = trunc nuw i8 %.0181 to i1
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %56, i1 noundef zeroext true, i1 noundef zeroext %494, i1 noundef zeroext %495, i1 noundef zeroext %496, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %58) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %58)
          to label %497 unwind label %501

497:                                              ; preds = %493
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %53, ptr noundef nonnull align 1 dereferenceable(6) %56, ptr noundef nonnull %57)
          to label %498 unwind label %503

498:                                              ; preds = %497
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %58) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %60) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %499 unwind label %506

499:                                              ; preds = %498
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull %59)
          to label %500 unwind label %508

500:                                              ; preds = %499
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %56) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %54) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #9
  br label %.thread463

501:                                              ; preds = %493
  %502 = landingpad { ptr, i32 }
          cleanup
  br label %505

503:                                              ; preds = %497
  %504 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #9
  br label %505

505:                                              ; preds = %503, %501
  %.pn397 = phi { ptr, i32 } [ %504, %503 ], [ %502, %501 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %58) #9
  br label %511

506:                                              ; preds = %498
  %507 = landingpad { ptr, i32 }
          cleanup
  br label %510

508:                                              ; preds = %499
  %509 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #9
  br label %510

510:                                              ; preds = %508, %506
  %.pn399 = phi { ptr, i32 } [ %509, %508 ], [ %507, %506 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #9
  br label %511

511:                                              ; preds = %510, %505
  %.pn399.pn = phi { ptr, i32 } [ %.pn399, %510 ], [ %.pn397, %505 ]
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %56) #9
  br label %512

512:                                              ; preds = %511, %482, %473
  %.pn402.pn = phi { ptr, i32 } [ %.pn402, %482 ], [ %.pn399.pn, %511 ], [ %474, %473 ]
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %54) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #9
  br label %1334

513:                                              ; preds = %461
  %514 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %267, ptr noundef nonnull dereferenceable(1) @.str.33) #10
  %515 = icmp eq i32 %514, 0
  br i1 %515, label %516, label %565

516:                                              ; preds = %513
  %517 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.34)
          to label %518 unwind label %.loopexit.split-lp

518:                                              ; preds = %516
  %519 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %517, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %520 unwind label %.loopexit.split-lp

520:                                              ; preds = %518
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %61) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #9
  call void @llvm.lifetime.start.p0(i64 7504, ptr nonnull %62) #9
  %521 = call i64 @time(ptr noundef null) #9
  %522 = trunc i64 %521 to i32
  invoke void @_ZN11FastPForLib22ClusteredDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %62, i32 noundef %522)
          to label %.preheader478 unwind label %525

523:                                              ; preds = %528
  %524 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %535 unwind label %525

525:                                              ; preds = %544, %540, %538, %535, %523, %520
  %526 = landingpad { ptr, i32 }
          cleanup
  br label %564

.preheader478:                                    ; preds = %520, %528
  %.0202635 = phi i32 [ %529, %528 ], [ 0, %520 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %63) #9
  invoke void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %63, ptr noundef nonnull align 8 dereferenceable(7504) %62, i32 noundef 512, i32 noundef 134217728)
          to label %527 unwind label %530

527:                                              ; preds = %.preheader478
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %61, ptr noundef nonnull align 8 dereferenceable(24) %63)
          to label %528 unwind label %532

528:                                              ; preds = %527
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %63) #9
  %529 = add nuw nsw i32 %.0202635, 1
  %exitcond872.not = icmp eq i32 %529, 16384
  br i1 %exitcond872.not, label %523, label %.preheader478, !llvm.loop !19

530:                                              ; preds = %.preheader478
  %531 = landingpad { ptr, i32 }
          cleanup
  br label %534

532:                                              ; preds = %527
  %533 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #9
  br label %534

534:                                              ; preds = %532, %530
  %.pn394 = phi { ptr, i32 } [ %533, %532 ], [ %531, %530 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %63) #9
  br label %564

535:                                              ; preds = %523
  %536 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %61) #9
  %537 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %524, i64 noundef %536)
          to label %538 unwind label %525

538:                                              ; preds = %535
  %539 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %537, ptr noundef nonnull @.str.28)
          to label %540 unwind label %525

540:                                              ; preds = %538
  %541 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %539, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %542 unwind label %525

542:                                              ; preds = %540
  %543 = trunc nuw i8 %.0186 to i1
  br i1 %543, label %544, label %545

544:                                              ; preds = %542
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef 65536)
          to label %545 unwind label %525

545:                                              ; preds = %544, %542
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %64) #9
  %546 = trunc nuw i8 %.0171 to i1
  %547 = trunc nuw i8 %.0176 to i1
  %548 = trunc nuw i8 %.0181 to i1
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %64, i1 noundef zeroext true, i1 noundef zeroext %546, i1 noundef zeroext %547, i1 noundef zeroext %548, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %66) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %66)
          to label %549 unwind label %553

549:                                              ; preds = %545
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %61, ptr noundef nonnull align 1 dereferenceable(6) %64, ptr noundef nonnull %65)
          to label %550 unwind label %555

550:                                              ; preds = %549
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %66) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %68) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %551 unwind label %558

551:                                              ; preds = %550
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull %67)
          to label %552 unwind label %560

552:                                              ; preds = %551
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %64) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %62) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %61) #9
  br label %.thread463

553:                                              ; preds = %545
  %554 = landingpad { ptr, i32 }
          cleanup
  br label %557

555:                                              ; preds = %549
  %556 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #9
  br label %557

557:                                              ; preds = %555, %553
  %.pn389 = phi { ptr, i32 } [ %556, %555 ], [ %554, %553 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %66) #9
  br label %563

558:                                              ; preds = %550
  %559 = landingpad { ptr, i32 }
          cleanup
  br label %562

560:                                              ; preds = %551
  %561 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #9
  br label %562

562:                                              ; preds = %560, %558
  %.pn391 = phi { ptr, i32 } [ %561, %560 ], [ %559, %558 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #9
  br label %563

563:                                              ; preds = %562, %557
  %.pn391.pn = phi { ptr, i32 } [ %.pn391, %562 ], [ %.pn389, %557 ]
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %64) #9
  br label %564

564:                                              ; preds = %563, %534, %525
  %.pn394.pn = phi { ptr, i32 } [ %.pn394, %534 ], [ %.pn391.pn, %563 ], [ %526, %525 ]
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %62) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %61) #9
  br label %1334

565:                                              ; preds = %513
  %566 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %267, ptr noundef nonnull dereferenceable(1) @.str.35) #10
  %567 = icmp eq i32 %566, 0
  br i1 %567, label %568, label %622

568:                                              ; preds = %565
  %569 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.26)
          to label %570 unwind label %.loopexit.split-lp

570:                                              ; preds = %568
  %571 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %569, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %572 unwind label %.loopexit.split-lp

572:                                              ; preds = %570
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %69) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %69) #9
  call void @llvm.lifetime.start.p0(i64 7504, ptr nonnull %70) #9
  %573 = call i64 @time(ptr noundef null) #9
  %574 = trunc i64 %573 to i32
  invoke void @_ZN11FastPForLib20UniformDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %70, i32 noundef %574)
          to label %.preheader479.preheader unwind label %575

.preheader479.preheader:                          ; preds = %572
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %71) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %71, ptr noundef nonnull align 8 dereferenceable(7504) %70, i32 noundef 4194304, i32 noundef 536870912)
          to label %577 unwind label %587

575:                                              ; preds = %601, %597, %595, %592, %585, %572
  %576 = landingpad { ptr, i32 }
          cleanup
  br label %621

577:                                              ; preds = %.preheader479.preheader
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull align 8 dereferenceable(24) %71)
          to label %.preheader479.1 unwind label %589

.preheader479.1:                                  ; preds = %577
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %71) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %71) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %71, ptr noundef nonnull align 8 dereferenceable(7504) %70, i32 noundef 4194304, i32 noundef 536870912)
          to label %578 unwind label %587

578:                                              ; preds = %.preheader479.1
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull align 8 dereferenceable(24) %71)
          to label %.preheader479.2 unwind label %589

.preheader479.2:                                  ; preds = %578
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %71) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %71) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %71, ptr noundef nonnull align 8 dereferenceable(7504) %70, i32 noundef 4194304, i32 noundef 536870912)
          to label %579 unwind label %587

579:                                              ; preds = %.preheader479.2
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull align 8 dereferenceable(24) %71)
          to label %.preheader479.3 unwind label %589

.preheader479.3:                                  ; preds = %579
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %71) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %71) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %71, ptr noundef nonnull align 8 dereferenceable(7504) %70, i32 noundef 4194304, i32 noundef 536870912)
          to label %580 unwind label %587

580:                                              ; preds = %.preheader479.3
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull align 8 dereferenceable(24) %71)
          to label %.preheader479.4 unwind label %589

.preheader479.4:                                  ; preds = %580
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %71) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %71) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %71, ptr noundef nonnull align 8 dereferenceable(7504) %70, i32 noundef 4194304, i32 noundef 536870912)
          to label %581 unwind label %587

581:                                              ; preds = %.preheader479.4
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull align 8 dereferenceable(24) %71)
          to label %.preheader479.5 unwind label %589

.preheader479.5:                                  ; preds = %581
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %71) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %71) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %71, ptr noundef nonnull align 8 dereferenceable(7504) %70, i32 noundef 4194304, i32 noundef 536870912)
          to label %582 unwind label %587

582:                                              ; preds = %.preheader479.5
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull align 8 dereferenceable(24) %71)
          to label %.preheader479.6 unwind label %589

.preheader479.6:                                  ; preds = %582
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %71) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %71) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %71, ptr noundef nonnull align 8 dereferenceable(7504) %70, i32 noundef 4194304, i32 noundef 536870912)
          to label %583 unwind label %587

583:                                              ; preds = %.preheader479.6
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull align 8 dereferenceable(24) %71)
          to label %.preheader479.7 unwind label %589

.preheader479.7:                                  ; preds = %583
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %71) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %71) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %71, ptr noundef nonnull align 8 dereferenceable(7504) %70, i32 noundef 4194304, i32 noundef 536870912)
          to label %584 unwind label %587

584:                                              ; preds = %.preheader479.7
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull align 8 dereferenceable(24) %71)
          to label %585 unwind label %589

585:                                              ; preds = %584
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %71) #9
  %586 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %592 unwind label %575

587:                                              ; preds = %.preheader479.7, %.preheader479.6, %.preheader479.5, %.preheader479.4, %.preheader479.3, %.preheader479.2, %.preheader479.1, %.preheader479.preheader
  %588 = landingpad { ptr, i32 }
          cleanup
  br label %591

589:                                              ; preds = %584, %583, %582, %581, %580, %579, %578, %577
  %590 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #9
  br label %591

591:                                              ; preds = %589, %587
  %.pn386 = phi { ptr, i32 } [ %590, %589 ], [ %588, %587 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %71) #9
  br label %621

592:                                              ; preds = %585
  %593 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %69) #9
  %594 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %586, i64 noundef %593)
          to label %595 unwind label %575

595:                                              ; preds = %592
  %596 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %594, ptr noundef nonnull @.str.28)
          to label %597 unwind label %575

597:                                              ; preds = %595
  %598 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %596, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %599 unwind label %575

599:                                              ; preds = %597
  %600 = trunc nuw i8 %.0186 to i1
  br i1 %600, label %601, label %602

601:                                              ; preds = %599
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %69, i64 noundef 65536)
          to label %602 unwind label %575

602:                                              ; preds = %601, %599
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %72) #9
  %603 = trunc nuw i8 %.0171 to i1
  %604 = trunc nuw i8 %.0176 to i1
  %605 = trunc nuw i8 %.0181 to i1
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %72, i1 noundef zeroext true, i1 noundef zeroext %603, i1 noundef zeroext %604, i1 noundef zeroext %605, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %74) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %74)
          to label %606 unwind label %610

606:                                              ; preds = %602
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull align 1 dereferenceable(6) %72, ptr noundef nonnull %73)
          to label %607 unwind label %612

607:                                              ; preds = %606
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %74) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %76) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %76)
          to label %608 unwind label %615

608:                                              ; preds = %607
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull %75)
          to label %609 unwind label %617

609:                                              ; preds = %608
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %72) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %70) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %69) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %69) #9
  br label %.thread463

610:                                              ; preds = %602
  %611 = landingpad { ptr, i32 }
          cleanup
  br label %614

612:                                              ; preds = %606
  %613 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #9
  br label %614

614:                                              ; preds = %612, %610
  %.pn381 = phi { ptr, i32 } [ %613, %612 ], [ %611, %610 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %74) #9
  br label %620

615:                                              ; preds = %607
  %616 = landingpad { ptr, i32 }
          cleanup
  br label %619

617:                                              ; preds = %608
  %618 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #9
  br label %619

619:                                              ; preds = %617, %615
  %.pn383 = phi { ptr, i32 } [ %618, %617 ], [ %616, %615 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #9
  br label %620

620:                                              ; preds = %619, %614
  %.pn383.pn = phi { ptr, i32 } [ %.pn383, %619 ], [ %.pn381, %614 ]
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %72) #9
  br label %621

621:                                              ; preds = %620, %591, %575
  %.pn386.pn = phi { ptr, i32 } [ %.pn386, %591 ], [ %.pn383.pn, %620 ], [ %576, %575 ]
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %70) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %69) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %69) #9
  br label %1334

622:                                              ; preds = %565
  %623 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %267, ptr noundef nonnull dereferenceable(1) @.str.36) #10
  %624 = icmp eq i32 %623, 0
  br i1 %624, label %625, label %674

625:                                              ; preds = %622
  %626 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.30)
          to label %627 unwind label %.loopexit.split-lp

627:                                              ; preds = %625
  %628 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %626, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %629 unwind label %.loopexit.split-lp

629:                                              ; preds = %627
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %77) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %77) #9
  call void @llvm.lifetime.start.p0(i64 7504, ptr nonnull %78) #9
  %630 = call i64 @time(ptr noundef null) #9
  %631 = trunc i64 %630 to i32
  invoke void @_ZN11FastPForLib20UniformDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %78, i32 noundef %631)
          to label %.preheader480 unwind label %634

632:                                              ; preds = %637
  %633 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %644 unwind label %634

634:                                              ; preds = %653, %649, %647, %644, %632, %629
  %635 = landingpad { ptr, i32 }
          cleanup
  br label %673

.preheader480:                                    ; preds = %629, %637
  %.0200633 = phi i32 [ %638, %637 ], [ 0, %629 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %79) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %79, ptr noundef nonnull align 8 dereferenceable(7504) %78, i32 noundef 4096, i32 noundef 536870912)
          to label %636 unwind label %639

636:                                              ; preds = %.preheader480
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %77, ptr noundef nonnull align 8 dereferenceable(24) %79)
          to label %637 unwind label %641

637:                                              ; preds = %636
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %79) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %79) #9
  %638 = add nuw nsw i32 %.0200633, 1
  %exitcond870.not = icmp eq i32 %638, 8192
  br i1 %exitcond870.not, label %632, label %.preheader480, !llvm.loop !20

639:                                              ; preds = %.preheader480
  %640 = landingpad { ptr, i32 }
          cleanup
  br label %643

641:                                              ; preds = %636
  %642 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %79) #9
  br label %643

643:                                              ; preds = %641, %639
  %.pn378 = phi { ptr, i32 } [ %642, %641 ], [ %640, %639 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %79) #9
  br label %673

644:                                              ; preds = %632
  %645 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %77) #9
  %646 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %633, i64 noundef %645)
          to label %647 unwind label %634

647:                                              ; preds = %644
  %648 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %646, ptr noundef nonnull @.str.28)
          to label %649 unwind label %634

649:                                              ; preds = %647
  %650 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %648, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %651 unwind label %634

651:                                              ; preds = %649
  %652 = trunc nuw i8 %.0186 to i1
  br i1 %652, label %653, label %654

653:                                              ; preds = %651
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef 65536)
          to label %654 unwind label %634

654:                                              ; preds = %653, %651
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %80) #9
  %655 = trunc nuw i8 %.0171 to i1
  %656 = trunc nuw i8 %.0176 to i1
  %657 = trunc nuw i8 %.0181 to i1
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %80, i1 noundef zeroext true, i1 noundef zeroext %655, i1 noundef zeroext %656, i1 noundef zeroext %657, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %82) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %82)
          to label %658 unwind label %662

658:                                              ; preds = %654
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %77, ptr noundef nonnull align 1 dereferenceable(6) %80, ptr noundef nonnull %81)
          to label %659 unwind label %664

659:                                              ; preds = %658
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %82) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %84) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %84)
          to label %660 unwind label %667

660:                                              ; preds = %659
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull %83)
          to label %661 unwind label %669

661:                                              ; preds = %660
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %84) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %80) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %78) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %77) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %77) #9
  br label %.thread463

662:                                              ; preds = %654
  %663 = landingpad { ptr, i32 }
          cleanup
  br label %666

664:                                              ; preds = %658
  %665 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #9
  br label %666

666:                                              ; preds = %664, %662
  %.pn373 = phi { ptr, i32 } [ %665, %664 ], [ %663, %662 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %82) #9
  br label %672

667:                                              ; preds = %659
  %668 = landingpad { ptr, i32 }
          cleanup
  br label %671

669:                                              ; preds = %660
  %670 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #9
  br label %671

671:                                              ; preds = %669, %667
  %.pn375 = phi { ptr, i32 } [ %670, %669 ], [ %668, %667 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %84) #9
  br label %672

672:                                              ; preds = %671, %666
  %.pn375.pn = phi { ptr, i32 } [ %.pn375, %671 ], [ %.pn373, %666 ]
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %80) #9
  br label %673

673:                                              ; preds = %672, %643, %634
  %.pn378.pn = phi { ptr, i32 } [ %.pn378, %643 ], [ %.pn375.pn, %672 ], [ %635, %634 ]
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %78) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %77) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %77) #9
  br label %1334

674:                                              ; preds = %622
  %675 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %267, ptr noundef nonnull dereferenceable(1) @.str.37) #10
  %676 = icmp eq i32 %675, 0
  br i1 %676, label %677, label %724

677:                                              ; preds = %674
  %678 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.32)
          to label %679 unwind label %.loopexit.split-lp

679:                                              ; preds = %677
  %680 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %678, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %681 unwind label %.loopexit.split-lp

681:                                              ; preds = %679
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %85) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %85) #9
  call void @llvm.lifetime.start.p0(i64 7504, ptr nonnull %86) #9
  %682 = call i64 @time(ptr noundef null) #9
  %683 = trunc i64 %682 to i32
  invoke void @_ZN11FastPForLib22ClusteredDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %86, i32 noundef %683)
          to label %686 unwind label %684

684:                                              ; preds = %703, %699, %697, %694, %.critedge, %681
  %685 = landingpad { ptr, i32 }
          cleanup
  br label %723

686:                                              ; preds = %681
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %87) #9
  invoke void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %87, ptr noundef nonnull align 8 dereferenceable(7504) %86, i32 noundef 8388608, i32 noundef 67108864)
          to label %687 unwind label %689

687:                                              ; preds = %686
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %85, ptr noundef nonnull align 8 dereferenceable(24) %87)
          to label %.critedge unwind label %691

.critedge:                                        ; preds = %687
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %87) #9
  %688 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %694 unwind label %684

689:                                              ; preds = %686
  %690 = landingpad { ptr, i32 }
          cleanup
  br label %693

691:                                              ; preds = %687
  %692 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #9
  br label %693

693:                                              ; preds = %691, %689
  %.pn370 = phi { ptr, i32 } [ %692, %691 ], [ %690, %689 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %87) #9
  br label %723

694:                                              ; preds = %.critedge
  %695 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %85) #9
  %696 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %688, i64 noundef %695)
          to label %697 unwind label %684

697:                                              ; preds = %694
  %698 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %696, ptr noundef nonnull @.str.28)
          to label %699 unwind label %684

699:                                              ; preds = %697
  %700 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %698, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %701 unwind label %684

701:                                              ; preds = %699
  %702 = trunc nuw i8 %.0186 to i1
  br i1 %702, label %703, label %704

703:                                              ; preds = %701
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %85, i64 noundef 65536)
          to label %704 unwind label %684

704:                                              ; preds = %703, %701
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %88) #9
  %705 = trunc nuw i8 %.0171 to i1
  %706 = trunc nuw i8 %.0176 to i1
  %707 = trunc nuw i8 %.0181 to i1
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %88, i1 noundef zeroext true, i1 noundef zeroext %705, i1 noundef zeroext %706, i1 noundef zeroext %707, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %90) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef nonnull @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %90)
          to label %708 unwind label %712

708:                                              ; preds = %704
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %85, ptr noundef nonnull align 1 dereferenceable(6) %88, ptr noundef nonnull %89)
          to label %709 unwind label %714

709:                                              ; preds = %708
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %90) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %92) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %92)
          to label %710 unwind label %717

710:                                              ; preds = %709
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull %91)
          to label %711 unwind label %719

711:                                              ; preds = %710
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %92) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %88) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %86) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %85) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %85) #9
  br label %.thread463

712:                                              ; preds = %704
  %713 = landingpad { ptr, i32 }
          cleanup
  br label %716

714:                                              ; preds = %708
  %715 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #9
  br label %716

716:                                              ; preds = %714, %712
  %.pn365 = phi { ptr, i32 } [ %715, %714 ], [ %713, %712 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %90) #9
  br label %722

717:                                              ; preds = %709
  %718 = landingpad { ptr, i32 }
          cleanup
  br label %721

719:                                              ; preds = %710
  %720 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #9
  br label %721

721:                                              ; preds = %719, %717
  %.pn367 = phi { ptr, i32 } [ %720, %719 ], [ %718, %717 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %92) #9
  br label %722

722:                                              ; preds = %721, %716
  %.pn367.pn = phi { ptr, i32 } [ %.pn367, %721 ], [ %.pn365, %716 ]
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %88) #9
  br label %723

723:                                              ; preds = %722, %693, %684
  %.pn370.pn = phi { ptr, i32 } [ %.pn370, %693 ], [ %.pn367.pn, %722 ], [ %685, %684 ]
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %86) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %85) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %85) #9
  br label %1334

724:                                              ; preds = %674
  %725 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %267, ptr noundef nonnull dereferenceable(1) @.str.38) #10
  %726 = icmp eq i32 %725, 0
  br i1 %726, label %727, label %776

727:                                              ; preds = %724
  %728 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.34)
          to label %729 unwind label %.loopexit.split-lp

729:                                              ; preds = %727
  %730 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %728, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %731 unwind label %.loopexit.split-lp

731:                                              ; preds = %729
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %93) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %93) #9
  call void @llvm.lifetime.start.p0(i64 7504, ptr nonnull %94) #9
  %732 = call i64 @time(ptr noundef null) #9
  %733 = trunc i64 %732 to i32
  invoke void @_ZN11FastPForLib22ClusteredDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %94, i32 noundef %733)
          to label %.preheader481 unwind label %736

734:                                              ; preds = %739
  %735 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %746 unwind label %736

736:                                              ; preds = %755, %751, %749, %746, %734, %731
  %737 = landingpad { ptr, i32 }
          cleanup
  br label %775

.preheader481:                                    ; preds = %731, %739
  %.0198632 = phi i32 [ %740, %739 ], [ 0, %731 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %95) #9
  invoke void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %95, ptr noundef nonnull align 8 dereferenceable(7504) %94, i32 noundef 4096, i32 noundef 67108864)
          to label %738 unwind label %741

738:                                              ; preds = %.preheader481
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %93, ptr noundef nonnull align 8 dereferenceable(24) %95)
          to label %739 unwind label %743

739:                                              ; preds = %738
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %95) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %95) #9
  %740 = add nuw nsw i32 %.0198632, 1
  %exitcond869.not = icmp eq i32 %740, 8192
  br i1 %exitcond869.not, label %734, label %.preheader481, !llvm.loop !21

741:                                              ; preds = %.preheader481
  %742 = landingpad { ptr, i32 }
          cleanup
  br label %745

743:                                              ; preds = %738
  %744 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %95) #9
  br label %745

745:                                              ; preds = %743, %741
  %.pn362 = phi { ptr, i32 } [ %744, %743 ], [ %742, %741 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %95) #9
  br label %775

746:                                              ; preds = %734
  %747 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %93) #9
  %748 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %735, i64 noundef %747)
          to label %749 unwind label %736

749:                                              ; preds = %746
  %750 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %748, ptr noundef nonnull @.str.28)
          to label %751 unwind label %736

751:                                              ; preds = %749
  %752 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %750, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %753 unwind label %736

753:                                              ; preds = %751
  %754 = trunc nuw i8 %.0186 to i1
  br i1 %754, label %755, label %756

755:                                              ; preds = %753
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %93, i64 noundef 65536)
          to label %756 unwind label %736

756:                                              ; preds = %755, %753
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %96) #9
  %757 = trunc nuw i8 %.0171 to i1
  %758 = trunc nuw i8 %.0176 to i1
  %759 = trunc nuw i8 %.0181 to i1
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %96, i1 noundef zeroext true, i1 noundef zeroext %757, i1 noundef zeroext %758, i1 noundef zeroext %759, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %98) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef nonnull @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %98)
          to label %760 unwind label %764

760:                                              ; preds = %756
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %93, ptr noundef nonnull align 1 dereferenceable(6) %96, ptr noundef nonnull %97)
          to label %761 unwind label %766

761:                                              ; preds = %760
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %98) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %100) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %100)
          to label %762 unwind label %769

762:                                              ; preds = %761
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull %99)
          to label %763 unwind label %771

763:                                              ; preds = %762
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %100) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %96) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %94) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %93) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %93) #9
  br label %.thread463

764:                                              ; preds = %756
  %765 = landingpad { ptr, i32 }
          cleanup
  br label %768

766:                                              ; preds = %760
  %767 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #9
  br label %768

768:                                              ; preds = %766, %764
  %.pn357 = phi { ptr, i32 } [ %767, %766 ], [ %765, %764 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %98) #9
  br label %774

769:                                              ; preds = %761
  %770 = landingpad { ptr, i32 }
          cleanup
  br label %773

771:                                              ; preds = %762
  %772 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #9
  br label %773

773:                                              ; preds = %771, %769
  %.pn359 = phi { ptr, i32 } [ %772, %771 ], [ %770, %769 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %100) #9
  br label %774

774:                                              ; preds = %773, %768
  %.pn359.pn = phi { ptr, i32 } [ %.pn359, %773 ], [ %.pn357, %768 ]
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %96) #9
  br label %775

775:                                              ; preds = %774, %745, %736
  %.pn362.pn = phi { ptr, i32 } [ %.pn362, %745 ], [ %.pn359.pn, %774 ], [ %737, %736 ]
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %94) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %93) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %93) #9
  br label %1334

776:                                              ; preds = %724
  %777 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %267, ptr noundef nonnull dereferenceable(1) @.str.39) #10
  %778 = icmp eq i32 %777, 0
  br i1 %778, label %779, label %874

779:                                              ; preds = %776
  %780 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.40)
          to label %781 unwind label %.loopexit.split-lp

781:                                              ; preds = %779
  %782 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %780, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %783 unwind label %.loopexit.split-lp

783:                                              ; preds = %781
  call void @llvm.lifetime.start.p0(i64 7504, ptr nonnull %101) #9
  %784 = call i64 @time(ptr noundef null) #9
  %785 = trunc i64 %784 to i32
  invoke void @_ZN11FastPForLib22ClusteredDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %101, i32 noundef %785)
          to label %.preheader482 unwind label %790

.preheader482:                                    ; preds = %783
  %786 = trunc nuw i8 %.0186 to i1
  %787 = trunc nuw i8 %.0171 to i1
  %788 = trunc nuw i8 %.0176 to i1
  %789 = trunc nuw i8 %.0181 to i1
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %102) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %102) #9
  br label %794

790:                                              ; preds = %783
  %791 = landingpad { ptr, i32 }
          cleanup
  br label %873

792:                                              ; preds = %796
  %793 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %799 unwind label %814

794:                                              ; preds = %.preheader482, %796
  %.0196630 = phi i32 [ 0, %.preheader482 ], [ %797, %796 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %103) #9
  invoke void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %103, ptr noundef nonnull align 8 dereferenceable(7504) %101, i32 noundef 32768, i32 noundef 536870912)
          to label %795 unwind label %.loopexit852

795:                                              ; preds = %794
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %102, ptr noundef nonnull align 8 dereferenceable(24) %103)
          to label %796 unwind label %.loopexit857

796:                                              ; preds = %795
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %103) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %103) #9
  %797 = add nuw nsw i32 %.0196630, 1
  %798 = icmp ult i32 %.0196630, 1023
  br i1 %798, label %794, label %792, !llvm.loop !22

.loopexit852:                                     ; preds = %794
  %lpad.loopexit854 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp853

.loopexit.split-lp853.loopexit:                   ; preds = %820
  %lpad.loopexit862 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp853

.loopexit.split-lp853.loopexit.split-lp:          ; preds = %842
  %lpad.loopexit.split-lp863 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp853

.loopexit857:                                     ; preds = %795
  %lpad.loopexit859 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp858

.loopexit.split-lp858.loopexit:                   ; preds = %821
  %lpad.loopexit865 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp858

.loopexit.split-lp858.loopexit.split-lp:          ; preds = %843
  %lpad.loopexit.split-lp866 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp858

.loopexit.split-lp858:                            ; preds = %.loopexit.split-lp858.loopexit, %.loopexit.split-lp858.loopexit.split-lp, %.loopexit857
  %lpad.phi861 = phi { ptr, i32 } [ %lpad.loopexit859, %.loopexit857 ], [ %lpad.loopexit865, %.loopexit.split-lp858.loopexit ], [ %lpad.loopexit.split-lp866, %.loopexit.split-lp858.loopexit.split-lp ]
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %103) #9
  br label %.loopexit.split-lp853

.loopexit.split-lp853:                            ; preds = %.loopexit852, %.loopexit.split-lp853.loopexit.split-lp, %.loopexit.split-lp853.loopexit, %.loopexit.split-lp858
  %.pn353 = phi { ptr, i32 } [ %lpad.phi861, %.loopexit.split-lp858 ], [ %lpad.loopexit854, %.loopexit852 ], [ %lpad.loopexit862, %.loopexit.split-lp853.loopexit ], [ %lpad.loopexit.split-lp863, %.loopexit.split-lp853.loopexit.split-lp ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %103) #9
  br label %865

799:                                              ; preds = %792
  %800 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %102) #9
  %801 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %793, i64 noundef %800)
          to label %802 unwind label %814

802:                                              ; preds = %799
  %803 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %801, ptr noundef nonnull @.str.28)
          to label %804 unwind label %814

804:                                              ; preds = %802
  %805 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %803, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %806 unwind label %814

806:                                              ; preds = %804
  %807 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.41)
          to label %808 unwind label %814

808:                                              ; preds = %806
  %809 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %807, i32 noundef 32768)
          to label %810 unwind label %814

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

812:                                              ; preds = %810
  br i1 %786, label %813, label %818

813:                                              ; preds = %812
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %102, i64 noundef 65536)
          to label %818 unwind label %816

814:                                              ; preds = %857, %855, %853, %851, %849, %846, %844, %837, %835, %833, %831, %829, %826, %824, %810, %808, %806, %804, %802, %799, %792
  %815 = landingpad { ptr, i32 }
          cleanup
  br label %865

816:                                              ; preds = %860, %840, %813
  %817 = landingpad { ptr, i32 }
          cleanup
  br label %865

818:                                              ; preds = %813, %812
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %104) #9
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %104, i1 noundef zeroext true, i1 noundef zeroext %787, i1 noundef zeroext %788, i1 noundef zeroext %789, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %105, i32 noundef 14) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %102, ptr noundef nonnull align 1 dereferenceable(6) %104, ptr noundef nonnull %105)
          to label %819 unwind label %863

819:                                              ; preds = %818
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %104) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %102) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %102) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %102) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %102) #9
  br label %820

820:                                              ; preds = %822, %819
  %.0196630.1 = phi i32 [ 0, %819 ], [ %823, %822 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %103) #9
  invoke void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %103, ptr noundef nonnull align 8 dereferenceable(7504) %101, i32 noundef 1048576, i32 noundef 536870912)
          to label %821 unwind label %.loopexit.split-lp853.loopexit

821:                                              ; preds = %820
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %102, ptr noundef nonnull align 8 dereferenceable(24) %103)
          to label %822 unwind label %.loopexit.split-lp858.loopexit

822:                                              ; preds = %821
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %103) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %103) #9
  %823 = add nuw nsw i32 %.0196630.1, 1
  %exitcond868.not = icmp eq i32 %823, 32
  br i1 %exitcond868.not, label %824, label %820, !llvm.loop !22

824:                                              ; preds = %822
  %825 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %826 unwind label %814

826:                                              ; preds = %824
  %827 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %102) #9
  %828 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %825, i64 noundef %827)
          to label %829 unwind label %814

829:                                              ; preds = %826
  %830 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %828, ptr noundef nonnull @.str.28)
          to label %831 unwind label %814

831:                                              ; preds = %829
  %832 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %830, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %833 unwind label %814

833:                                              ; preds = %831
  %834 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.41)
          to label %835 unwind label %814

835:                                              ; preds = %833
  %836 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %834, i32 noundef 1048576)
          to label %837 unwind label %814

837:                                              ; preds = %835
  %838 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %836, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %839 unwind label %814

839:                                              ; preds = %837
  br i1 %786, label %840, label %841

840:                                              ; preds = %839
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %102, i64 noundef 65536)
          to label %841 unwind label %816

841:                                              ; preds = %840, %839
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %104) #9
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %104, i1 noundef zeroext true, i1 noundef zeroext %787, i1 noundef zeroext %788, i1 noundef zeroext %789, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %105, i32 noundef 9) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %102, ptr noundef nonnull align 1 dereferenceable(6) %104, ptr noundef nonnull %105)
          to label %842 unwind label %863

842:                                              ; preds = %841
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %104) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %102) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %102) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %102) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %102) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %103) #9
  invoke void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %103, ptr noundef nonnull align 8 dereferenceable(7504) %101, i32 noundef 33554432, i32 noundef 536870912)
          to label %843 unwind label %.loopexit.split-lp853.loopexit.split-lp

843:                                              ; preds = %842
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %102, ptr noundef nonnull align 8 dereferenceable(24) %103)
          to label %844 unwind label %.loopexit.split-lp858.loopexit.split-lp

844:                                              ; preds = %843
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %103) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %103) #9
  %845 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %846 unwind label %814

846:                                              ; preds = %844
  %847 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %102) #9
  %848 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %845, i64 noundef %847)
          to label %849 unwind label %814

849:                                              ; preds = %846
  %850 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %848, ptr noundef nonnull @.str.28)
          to label %851 unwind label %814

851:                                              ; preds = %849
  %852 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %850, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %853 unwind label %814

853:                                              ; preds = %851
  %854 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.41)
          to label %855 unwind label %814

855:                                              ; preds = %853
  %856 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %854, i32 noundef 33554432)
          to label %857 unwind label %814

857:                                              ; preds = %855
  %858 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %856, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %859 unwind label %814

859:                                              ; preds = %857
  br i1 %786, label %860, label %861

860:                                              ; preds = %859
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %102, i64 noundef 65536)
          to label %861 unwind label %816

861:                                              ; preds = %860, %859
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %104) #9
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %104, i1 noundef zeroext true, i1 noundef zeroext %787, i1 noundef zeroext %788, i1 noundef zeroext %789, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %105, i32 noundef 4) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %102, ptr noundef nonnull align 1 dereferenceable(6) %104, ptr noundef nonnull %105)
          to label %862 unwind label %863

862:                                              ; preds = %861
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %104) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %102) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %102) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %107) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %106, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %107)
          to label %866 unwind label %868

863:                                              ; preds = %861, %841, %818
  %864 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %104) #9
  br label %865

865:                                              ; preds = %816, %863, %814, %.loopexit.split-lp853
  %.pn353.pn = phi { ptr, i32 } [ %.pn353, %.loopexit.split-lp853 ], [ %815, %814 ], [ %864, %863 ], [ %817, %816 ]
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %102) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %102) #9
  br label %873

866:                                              ; preds = %862
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull %106)
          to label %867 unwind label %870

867:                                              ; preds = %866
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %107) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %101) #9
  br label %.thread463

868:                                              ; preds = %862
  %869 = landingpad { ptr, i32 }
          cleanup
  br label %872

870:                                              ; preds = %866
  %871 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #9
  br label %872

872:                                              ; preds = %870, %868
  %.pn349 = phi { ptr, i32 } [ %871, %870 ], [ %869, %868 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %107) #9
  br label %873

873:                                              ; preds = %872, %865, %790
  %.pn353.pn.pn = phi { ptr, i32 } [ %.pn353.pn, %865 ], [ %.pn349, %872 ], [ %791, %790 ]
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %101) #9
  br label %1334

874:                                              ; preds = %776
  %875 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %267, ptr noundef nonnull dereferenceable(1) @.str.42) #10
  %876 = icmp eq i32 %875, 0
  br i1 %876, label %877, label %972

877:                                              ; preds = %874
  %878 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.30)
          to label %879 unwind label %.loopexit.split-lp

879:                                              ; preds = %877
  %880 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %878, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %881 unwind label %.loopexit.split-lp

881:                                              ; preds = %879
  call void @llvm.lifetime.start.p0(i64 7504, ptr nonnull %108) #9
  %882 = call i64 @time(ptr noundef null) #9
  %883 = trunc i64 %882 to i32
  invoke void @_ZN11FastPForLib20UniformDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %108, i32 noundef %883)
          to label %.preheader483 unwind label %888

.preheader483:                                    ; preds = %881
  %884 = trunc nuw i8 %.0186 to i1
  %885 = trunc nuw i8 %.0171 to i1
  %886 = trunc nuw i8 %.0176 to i1
  %887 = trunc nuw i8 %.0181 to i1
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %109) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #9
  br label %892

888:                                              ; preds = %881
  %889 = landingpad { ptr, i32 }
          cleanup
  br label %971

890:                                              ; preds = %894
  %891 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %897 unwind label %912

892:                                              ; preds = %.preheader483, %894
  %.0189628 = phi i32 [ 0, %.preheader483 ], [ %895, %894 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %110) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %110, ptr noundef nonnull align 8 dereferenceable(7504) %108, i32 noundef 32768, i32 noundef 536870912)
          to label %893 unwind label %.loopexit835

893:                                              ; preds = %892
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %109, ptr noundef nonnull align 8 dereferenceable(24) %110)
          to label %894 unwind label %.loopexit840

894:                                              ; preds = %893
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %110) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %110) #9
  %895 = add nuw nsw i32 %.0189628, 1
  %896 = icmp ult i32 %.0189628, 1023
  br i1 %896, label %892, label %890, !llvm.loop !23

.loopexit835:                                     ; preds = %892
  %lpad.loopexit837 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp836

.loopexit.split-lp836.loopexit:                   ; preds = %918
  %lpad.loopexit845 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp836

.loopexit.split-lp836.loopexit.split-lp:          ; preds = %940
  %lpad.loopexit.split-lp846 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp836

.loopexit840:                                     ; preds = %893
  %lpad.loopexit842 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp841

.loopexit.split-lp841.loopexit:                   ; preds = %919
  %lpad.loopexit848 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp841

.loopexit.split-lp841.loopexit.split-lp:          ; preds = %941
  %lpad.loopexit.split-lp849 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp841

.loopexit.split-lp841:                            ; preds = %.loopexit.split-lp841.loopexit, %.loopexit.split-lp841.loopexit.split-lp, %.loopexit840
  %lpad.phi844 = phi { ptr, i32 } [ %lpad.loopexit842, %.loopexit840 ], [ %lpad.loopexit848, %.loopexit.split-lp841.loopexit ], [ %lpad.loopexit.split-lp849, %.loopexit.split-lp841.loopexit.split-lp ]
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %110) #9
  br label %.loopexit.split-lp836

.loopexit.split-lp836:                            ; preds = %.loopexit835, %.loopexit.split-lp836.loopexit.split-lp, %.loopexit.split-lp836.loopexit, %.loopexit.split-lp841
  %.pn345 = phi { ptr, i32 } [ %lpad.phi844, %.loopexit.split-lp841 ], [ %lpad.loopexit837, %.loopexit835 ], [ %lpad.loopexit845, %.loopexit.split-lp836.loopexit ], [ %lpad.loopexit.split-lp846, %.loopexit.split-lp836.loopexit.split-lp ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %110) #9
  br label %963

897:                                              ; preds = %890
  %898 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %109) #9
  %899 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %891, i64 noundef %898)
          to label %900 unwind label %912

900:                                              ; preds = %897
  %901 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %899, ptr noundef nonnull @.str.28)
          to label %902 unwind label %912

902:                                              ; preds = %900
  %903 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %901, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %904 unwind label %912

904:                                              ; preds = %902
  %905 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.41)
          to label %906 unwind label %912

906:                                              ; preds = %904
  %907 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %905, i32 noundef 32768)
          to label %908 unwind label %912

908:                                              ; preds = %906
  %909 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %907, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %910 unwind label %912

910:                                              ; preds = %908
  br i1 %884, label %911, label %916

911:                                              ; preds = %910
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %109, i64 noundef 65536)
          to label %916 unwind label %914

912:                                              ; preds = %955, %953, %951, %949, %947, %944, %942, %935, %933, %931, %929, %927, %924, %922, %908, %906, %904, %902, %900, %897, %890
  %913 = landingpad { ptr, i32 }
          cleanup
  br label %963

914:                                              ; preds = %958, %938, %911
  %915 = landingpad { ptr, i32 }
          cleanup
  br label %963

916:                                              ; preds = %911, %910
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %111) #9
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %111, i1 noundef zeroext true, i1 noundef zeroext %885, i1 noundef zeroext %886, i1 noundef zeroext %887, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %112, i32 noundef 14) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %109, ptr noundef nonnull align 1 dereferenceable(6) %111, ptr noundef nonnull %112)
          to label %917 unwind label %961

917:                                              ; preds = %916
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %111) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %109) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %109) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #9
  br label %918

918:                                              ; preds = %920, %917
  %.0189628.1 = phi i32 [ 0, %917 ], [ %921, %920 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %110) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %110, ptr noundef nonnull align 8 dereferenceable(7504) %108, i32 noundef 1048576, i32 noundef 536870912)
          to label %919 unwind label %.loopexit.split-lp836.loopexit

919:                                              ; preds = %918
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %109, ptr noundef nonnull align 8 dereferenceable(24) %110)
          to label %920 unwind label %.loopexit.split-lp841.loopexit

920:                                              ; preds = %919
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %110) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %110) #9
  %921 = add nuw nsw i32 %.0189628.1, 1
  %exitcond851.not = icmp eq i32 %921, 32
  br i1 %exitcond851.not, label %922, label %918, !llvm.loop !23

922:                                              ; preds = %920
  %923 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %924 unwind label %912

924:                                              ; preds = %922
  %925 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %109) #9
  %926 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %923, i64 noundef %925)
          to label %927 unwind label %912

927:                                              ; preds = %924
  %928 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %926, ptr noundef nonnull @.str.28)
          to label %929 unwind label %912

929:                                              ; preds = %927
  %930 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %928, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %931 unwind label %912

931:                                              ; preds = %929
  %932 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.41)
          to label %933 unwind label %912

933:                                              ; preds = %931
  %934 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %932, i32 noundef 1048576)
          to label %935 unwind label %912

935:                                              ; preds = %933
  %936 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %934, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %937 unwind label %912

937:                                              ; preds = %935
  br i1 %884, label %938, label %939

938:                                              ; preds = %937
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %109, i64 noundef 65536)
          to label %939 unwind label %914

939:                                              ; preds = %938, %937
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %111) #9
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %111, i1 noundef zeroext true, i1 noundef zeroext %885, i1 noundef zeroext %886, i1 noundef zeroext %887, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %112, i32 noundef 9) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %109, ptr noundef nonnull align 1 dereferenceable(6) %111, ptr noundef nonnull %112)
          to label %940 unwind label %961

940:                                              ; preds = %939
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %111) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %109) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %109) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %110) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %110, ptr noundef nonnull align 8 dereferenceable(7504) %108, i32 noundef 33554432, i32 noundef 536870912)
          to label %941 unwind label %.loopexit.split-lp836.loopexit.split-lp

941:                                              ; preds = %940
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %109, ptr noundef nonnull align 8 dereferenceable(24) %110)
          to label %942 unwind label %.loopexit.split-lp841.loopexit.split-lp

942:                                              ; preds = %941
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %110) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %110) #9
  %943 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %944 unwind label %912

944:                                              ; preds = %942
  %945 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %109) #9
  %946 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %943, i64 noundef %945)
          to label %947 unwind label %912

947:                                              ; preds = %944
  %948 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %946, ptr noundef nonnull @.str.28)
          to label %949 unwind label %912

949:                                              ; preds = %947
  %950 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %948, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %951 unwind label %912

951:                                              ; preds = %949
  %952 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.41)
          to label %953 unwind label %912

953:                                              ; preds = %951
  %954 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %952, i32 noundef 33554432)
          to label %955 unwind label %912

955:                                              ; preds = %953
  %956 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %954, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %957 unwind label %912

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

958:                                              ; preds = %957
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %109, i64 noundef 65536)
          to label %959 unwind label %914

959:                                              ; preds = %958, %957
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %111) #9
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %111, i1 noundef zeroext true, i1 noundef zeroext %885, i1 noundef zeroext %886, i1 noundef zeroext %887, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %112, i32 noundef 4) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %109, ptr noundef nonnull align 1 dereferenceable(6) %111, ptr noundef nonnull %112)
          to label %960 unwind label %961

960:                                              ; preds = %959
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %111) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %109) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %114) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %114) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %114)
          to label %964 unwind label %966

961:                                              ; preds = %959, %939, %916
  %962 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %111) #9
  br label %963

963:                                              ; preds = %914, %961, %912, %.loopexit.split-lp836
  %.pn345.pn = phi { ptr, i32 } [ %.pn345, %.loopexit.split-lp836 ], [ %913, %912 ], [ %962, %961 ], [ %915, %914 ]
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %109) #9
  br label %971

964:                                              ; preds = %960
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull %113)
          to label %965 unwind label %968

965:                                              ; preds = %964
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %114) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %114) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %108) #9
  br label %.thread463

966:                                              ; preds = %960
  %967 = landingpad { ptr, i32 }
          cleanup
  br label %970

968:                                              ; preds = %964
  %969 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #9
  br label %970

970:                                              ; preds = %968, %966
  %.pn341 = phi { ptr, i32 } [ %969, %968 ], [ %967, %966 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %114) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %114) #9
  br label %971

971:                                              ; preds = %970, %963, %888
  %.pn345.pn.pn = phi { ptr, i32 } [ %.pn345.pn, %963 ], [ %.pn341, %970 ], [ %889, %888 ]
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %108) #9
  br label %1334

972:                                              ; preds = %874
  %973 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %267, ptr noundef nonnull dereferenceable(1) @.str.43) #10
  %974 = icmp eq i32 %973, 0
  br i1 %974, label %975, label %1048

975:                                              ; preds = %972
  %976 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.40)
          to label %977 unwind label %.loopexit.split-lp

977:                                              ; preds = %975
  %978 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %976, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %979 unwind label %.loopexit.split-lp

979:                                              ; preds = %977
  call void @llvm.lifetime.start.p0(i64 7504, ptr nonnull %115) #9
  %980 = call i64 @time(ptr noundef null) #9
  %981 = trunc i64 %980 to i32
  invoke void @_ZN11FastPForLib22ClusteredDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %115, i32 noundef %981)
          to label %.preheader484 unwind label %986

.preheader484:                                    ; preds = %979
  %982 = trunc nuw i8 %.0186 to i1
  %983 = trunc nuw i8 %.0171 to i1
  %984 = trunc nuw i8 %.0176 to i1
  %985 = trunc nuw i8 %.0181 to i1
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %116) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %116) #9
  br label %990

986:                                              ; preds = %979
  %987 = landingpad { ptr, i32 }
          cleanup
  br label %1047

988:                                              ; preds = %992
  %989 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %996 unwind label %1011

990:                                              ; preds = %.preheader484, %992
  %.0184626 = phi i64 [ 0, %.preheader484 ], [ %993, %992 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %117) #9
  invoke void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %117, ptr noundef nonnull align 8 dereferenceable(7504) %115, i32 noundef 32768, i32 noundef 536870912)
          to label %991 unwind label %.loopexit825

991:                                              ; preds = %990
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %116, ptr noundef nonnull align 8 dereferenceable(24) %117)
          to label %992 unwind label %.loopexit830

992:                                              ; preds = %991
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %117) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %117) #9
  %993 = add nuw nsw i64 %.0184626, 1
  %exitcond824.not = icmp eq i64 %993, 32
  br i1 %exitcond824.not, label %988, label %990, !llvm.loop !24

.loopexit825:                                     ; preds = %990
  %lpad.loopexit827 = landingpad { ptr, i32 }
          cleanup
  br label %995

.loopexit.split-lp826:                            ; preds = %1016
  %lpad.loopexit.split-lp828 = landingpad { ptr, i32 }
          cleanup
  br label %995

.loopexit830:                                     ; preds = %991
  %lpad.loopexit832 = landingpad { ptr, i32 }
          cleanup
  br label %994

.loopexit.split-lp831:                            ; preds = %1017
  %lpad.loopexit.split-lp833 = landingpad { ptr, i32 }
          cleanup
  br label %994

994:                                              ; preds = %.loopexit.split-lp831, %.loopexit830
  %lpad.phi834 = phi { ptr, i32 } [ %lpad.loopexit832, %.loopexit830 ], [ %lpad.loopexit.split-lp833, %.loopexit.split-lp831 ]
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %117) #9
  br label %995

995:                                              ; preds = %.loopexit825, %.loopexit.split-lp826, %994
  %.pn337 = phi { ptr, i32 } [ %lpad.phi834, %994 ], [ %lpad.loopexit827, %.loopexit825 ], [ %lpad.loopexit.split-lp828, %.loopexit.split-lp826 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %117) #9
  br label %1039

996:                                              ; preds = %988
  %997 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %116) #9
  %998 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %989, i64 noundef %997)
          to label %999 unwind label %1011

999:                                              ; preds = %996
  %1000 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %998, ptr noundef nonnull @.str.28)
          to label %1001 unwind label %1011

1001:                                             ; preds = %999
  %1002 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1000, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1003 unwind label %1011

1003:                                             ; preds = %1001
  %1004 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.41)
          to label %1005 unwind label %1011

1005:                                             ; preds = %1003
  %1006 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1004, i32 noundef 32768)
          to label %1007 unwind label %1011

1007:                                             ; preds = %1005
  %1008 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1006, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1009 unwind label %1011

1009:                                             ; preds = %1007
  br i1 %982, label %1010, label %1015

1010:                                             ; preds = %1009
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %116, i64 noundef 65536)
          to label %1015 unwind label %1013

1011:                                             ; preds = %1031, %1029, %1027, %1025, %1023, %1020, %1018, %1007, %1005, %1003, %1001, %999, %996, %988
  %1012 = landingpad { ptr, i32 }
          cleanup
  br label %1039

1013:                                             ; preds = %1034, %1010
  %1014 = landingpad { ptr, i32 }
          cleanup
  br label %1039

1015:                                             ; preds = %1010, %1009
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %118) #9
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %118, i1 noundef zeroext true, i1 noundef zeroext %983, i1 noundef zeroext %984, i1 noundef zeroext %985, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %119, i32 noundef 14) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %116, ptr noundef nonnull align 1 dereferenceable(6) %118, ptr noundef nonnull %119)
          to label %1016 unwind label %1037

1016:                                             ; preds = %1015
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %118) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %116) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %116) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %116) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %116) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %117) #9
  invoke void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %117, ptr noundef nonnull align 8 dereferenceable(7504) %115, i32 noundef 1048576, i32 noundef 536870912)
          to label %1017 unwind label %.loopexit.split-lp826

1017:                                             ; preds = %1016
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %116, ptr noundef nonnull align 8 dereferenceable(24) %117)
          to label %1018 unwind label %.loopexit.split-lp831

1018:                                             ; preds = %1017
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %117) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %117) #9
  %1019 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %1020 unwind label %1011

1020:                                             ; preds = %1018
  %1021 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %116) #9
  %1022 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %1019, i64 noundef %1021)
          to label %1023 unwind label %1011

1023:                                             ; preds = %1020
  %1024 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1022, ptr noundef nonnull @.str.28)
          to label %1025 unwind label %1011

1025:                                             ; preds = %1023
  %1026 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1024, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1027 unwind label %1011

1027:                                             ; preds = %1025
  %1028 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.41)
          to label %1029 unwind label %1011

1029:                                             ; preds = %1027
  %1030 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1028, i32 noundef 1048576)
          to label %1031 unwind label %1011

1031:                                             ; preds = %1029
  %1032 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1030, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1033 unwind label %1011

1033:                                             ; preds = %1031
  br i1 %982, label %1034, label %1035

1034:                                             ; preds = %1033
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %116, i64 noundef 65536)
          to label %1035 unwind label %1013

1035:                                             ; preds = %1034, %1033
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %118) #9
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %118, i1 noundef zeroext true, i1 noundef zeroext %983, i1 noundef zeroext %984, i1 noundef zeroext %985, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %119, i32 noundef 9) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %116, ptr noundef nonnull align 1 dereferenceable(6) %118, ptr noundef nonnull %119)
          to label %1036 unwind label %1037

1036:                                             ; preds = %1035
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %118) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %116) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %116) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %121) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %121) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %120, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %121)
          to label %1040 unwind label %1042

1037:                                             ; preds = %1035, %1015
  %1038 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %118) #9
  br label %1039

1039:                                             ; preds = %1013, %1037, %1011, %995
  %.pn337.pn = phi { ptr, i32 } [ %.pn337, %995 ], [ %1012, %1011 ], [ %1038, %1037 ], [ %1014, %1013 ]
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %116) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %116) #9
  br label %1047

1040:                                             ; preds = %1036
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull %120)
          to label %1041 unwind label %1044

1041:                                             ; preds = %1040
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %121) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %121) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %115) #9
  br label %.thread463

1042:                                             ; preds = %1036
  %1043 = landingpad { ptr, i32 }
          cleanup
  br label %1046

1044:                                             ; preds = %1040
  %1045 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #9
  br label %1046

1046:                                             ; preds = %1044, %1042
  %.pn333 = phi { ptr, i32 } [ %1045, %1044 ], [ %1043, %1042 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %121) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %121) #9
  br label %1047

1047:                                             ; preds = %1046, %1039, %986
  %.pn337.pn.pn = phi { ptr, i32 } [ %.pn337.pn, %1039 ], [ %.pn333, %1046 ], [ %987, %986 ]
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %115) #9
  br label %1334

1048:                                             ; preds = %972
  %1049 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %267, ptr noundef nonnull dereferenceable(1) @.str.44) #10
  %1050 = icmp eq i32 %1049, 0
  br i1 %1050, label %1051, label %1124

1051:                                             ; preds = %1048
  %1052 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.30)
          to label %1053 unwind label %.loopexit.split-lp

1053:                                             ; preds = %1051
  %1054 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1052, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1055 unwind label %.loopexit.split-lp

1055:                                             ; preds = %1053
  call void @llvm.lifetime.start.p0(i64 7504, ptr nonnull %122) #9
  %1056 = call i64 @time(ptr noundef null) #9
  %1057 = trunc i64 %1056 to i32
  invoke void @_ZN11FastPForLib20UniformDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %122, i32 noundef %1057)
          to label %.preheader485 unwind label %1062

.preheader485:                                    ; preds = %1055
  %1058 = trunc nuw i8 %.0186 to i1
  %1059 = trunc nuw i8 %.0171 to i1
  %1060 = trunc nuw i8 %.0176 to i1
  %1061 = trunc nuw i8 %.0181 to i1
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %123) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %123) #9
  br label %1066

1062:                                             ; preds = %1055
  %1063 = landingpad { ptr, i32 }
          cleanup
  br label %1123

1064:                                             ; preds = %1068
  %1065 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %1072 unwind label %1087

1066:                                             ; preds = %.preheader485, %1068
  %.0179624 = phi i64 [ 0, %.preheader485 ], [ %1069, %1068 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %124) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %124, ptr noundef nonnull align 8 dereferenceable(7504) %122, i32 noundef 32768, i32 noundef 536870912)
          to label %1067 unwind label %.loopexit814

1067:                                             ; preds = %1066
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %123, ptr noundef nonnull align 8 dereferenceable(24) %124)
          to label %1068 unwind label %.loopexit819

1068:                                             ; preds = %1067
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %124) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %124) #9
  %1069 = add nuw nsw i64 %.0179624, 1
  %exitcond813.not = icmp eq i64 %1069, 32
  br i1 %exitcond813.not, label %1064, label %1066, !llvm.loop !25

.loopexit814:                                     ; preds = %1066
  %lpad.loopexit816 = landingpad { ptr, i32 }
          cleanup
  br label %1071

.loopexit.split-lp815:                            ; preds = %1092
  %lpad.loopexit.split-lp817 = landingpad { ptr, i32 }
          cleanup
  br label %1071

.loopexit819:                                     ; preds = %1067
  %lpad.loopexit821 = landingpad { ptr, i32 }
          cleanup
  br label %1070

.loopexit.split-lp820:                            ; preds = %1093
  %lpad.loopexit.split-lp822 = landingpad { ptr, i32 }
          cleanup
  br label %1070

1070:                                             ; preds = %.loopexit.split-lp820, %.loopexit819
  %lpad.phi823 = phi { ptr, i32 } [ %lpad.loopexit821, %.loopexit819 ], [ %lpad.loopexit.split-lp822, %.loopexit.split-lp820 ]
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %124) #9
  br label %1071

1071:                                             ; preds = %.loopexit814, %.loopexit.split-lp815, %1070
  %.pn329 = phi { ptr, i32 } [ %lpad.phi823, %1070 ], [ %lpad.loopexit816, %.loopexit814 ], [ %lpad.loopexit.split-lp817, %.loopexit.split-lp815 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %124) #9
  br label %1115

1072:                                             ; preds = %1064
  %1073 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %123) #9
  %1074 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %1065, i64 noundef %1073)
          to label %1075 unwind label %1087

1075:                                             ; preds = %1072
  %1076 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1074, ptr noundef nonnull @.str.28)
          to label %1077 unwind label %1087

1077:                                             ; preds = %1075
  %1078 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1076, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1079 unwind label %1087

1079:                                             ; preds = %1077
  %1080 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.41)
          to label %1081 unwind label %1087

1081:                                             ; preds = %1079
  %1082 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1080, i32 noundef 32768)
          to label %1083 unwind label %1087

1083:                                             ; preds = %1081
  %1084 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1082, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1085 unwind label %1087

1085:                                             ; preds = %1083
  br i1 %1058, label %1086, label %1091

1086:                                             ; preds = %1085
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %123, i64 noundef 65536)
          to label %1091 unwind label %1089

1087:                                             ; preds = %1107, %1105, %1103, %1101, %1099, %1096, %1094, %1083, %1081, %1079, %1077, %1075, %1072, %1064
  %1088 = landingpad { ptr, i32 }
          cleanup
  br label %1115

1089:                                             ; preds = %1110, %1086
  %1090 = landingpad { ptr, i32 }
          cleanup
  br label %1115

1091:                                             ; preds = %1086, %1085
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %125) #9
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %125, i1 noundef zeroext true, i1 noundef zeroext %1059, i1 noundef zeroext %1060, i1 noundef zeroext %1061, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %126, i32 noundef 14) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %123, ptr noundef nonnull align 1 dereferenceable(6) %125, ptr noundef nonnull %126)
          to label %1092 unwind label %1113

1092:                                             ; preds = %1091
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %125) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %123) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %123) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %123) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %123) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %124) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %124, ptr noundef nonnull align 8 dereferenceable(7504) %122, i32 noundef 1048576, i32 noundef 536870912)
          to label %1093 unwind label %.loopexit.split-lp815

1093:                                             ; preds = %1092
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %123, ptr noundef nonnull align 8 dereferenceable(24) %124)
          to label %1094 unwind label %.loopexit.split-lp820

1094:                                             ; preds = %1093
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %124) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %124) #9
  %1095 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %1096 unwind label %1087

1096:                                             ; preds = %1094
  %1097 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %123) #9
  %1098 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %1095, i64 noundef %1097)
          to label %1099 unwind label %1087

1099:                                             ; preds = %1096
  %1100 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1098, ptr noundef nonnull @.str.28)
          to label %1101 unwind label %1087

1101:                                             ; preds = %1099
  %1102 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1100, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1103 unwind label %1087

1103:                                             ; preds = %1101
  %1104 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.41)
          to label %1105 unwind label %1087

1105:                                             ; preds = %1103
  %1106 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1104, i32 noundef 1048576)
          to label %1107 unwind label %1087

1107:                                             ; preds = %1105
  %1108 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1106, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1109 unwind label %1087

1109:                                             ; preds = %1107
  br i1 %1058, label %1110, label %1111

1110:                                             ; preds = %1109
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %123, i64 noundef 65536)
          to label %1111 unwind label %1089

1111:                                             ; preds = %1110, %1109
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %125) #9
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %125, i1 noundef zeroext true, i1 noundef zeroext %1059, i1 noundef zeroext %1060, i1 noundef zeroext %1061, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %126, i32 noundef 9) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %123, ptr noundef nonnull align 1 dereferenceable(6) %125, ptr noundef nonnull %126)
          to label %1112 unwind label %1113

1112:                                             ; preds = %1111
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %125) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %123) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %123) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %128) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %128) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %128)
          to label %1116 unwind label %1118

1113:                                             ; preds = %1111, %1091
  %1114 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %125) #9
  br label %1115

1115:                                             ; preds = %1089, %1113, %1087, %1071
  %.pn329.pn = phi { ptr, i32 } [ %.pn329, %1071 ], [ %1088, %1087 ], [ %1114, %1113 ], [ %1090, %1089 ]
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %123) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %123) #9
  br label %1123

1116:                                             ; preds = %1112
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull %127)
          to label %1117 unwind label %1120

1117:                                             ; preds = %1116
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %128) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %128) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %122) #9
  br label %.thread463

1118:                                             ; preds = %1112
  %1119 = landingpad { ptr, i32 }
          cleanup
  br label %1122

1120:                                             ; preds = %1116
  %1121 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #9
  br label %1122

1122:                                             ; preds = %1120, %1118
  %.pn325 = phi { ptr, i32 } [ %1121, %1120 ], [ %1119, %1118 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %128) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %128) #9
  br label %1123

1123:                                             ; preds = %1122, %1115, %1062
  %.pn329.pn.pn = phi { ptr, i32 } [ %.pn329.pn, %1115 ], [ %.pn325, %1122 ], [ %1063, %1062 ]
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %122) #9
  br label %1334

1124:                                             ; preds = %1048
  %1125 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %267, ptr noundef nonnull dereferenceable(1) @.str.45) #10
  %1126 = icmp eq i32 %1125, 0
  br i1 %1126, label %1127, label %1224

1127:                                             ; preds = %1124
  %1128 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.40)
          to label %1129 unwind label %.loopexit.split-lp

1129:                                             ; preds = %1127
  %1130 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1128, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1131 unwind label %.loopexit.split-lp

1131:                                             ; preds = %1129
  call void @llvm.lifetime.start.p0(i64 7504, ptr nonnull %129) #9
  %1132 = call i64 @time(ptr noundef null) #9
  %1133 = trunc i64 %1132 to i32
  invoke void @_ZN11FastPForLib22ClusteredDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %129, i32 noundef %1133)
          to label %.preheader486 unwind label %1138

.preheader486:                                    ; preds = %1131
  %1134 = trunc nuw i8 %.0186 to i1
  %1135 = trunc nuw i8 %.0171 to i1
  %1136 = trunc nuw i8 %.0176 to i1
  %1137 = trunc nuw i8 %.0181 to i1
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %130) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %130) #9
  br label %1142

1138:                                             ; preds = %1131
  %1139 = landingpad { ptr, i32 }
          cleanup
  br label %1223

1140:                                             ; preds = %1145
  %1141 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %1147 unwind label %1162

1142:                                             ; preds = %.preheader486, %1145
  %.0174622 = phi i64 [ 0, %.preheader486 ], [ %1146, %1145 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %131) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %132) #9
  invoke void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %132, ptr noundef nonnull align 8 dereferenceable(7504) %129, i32 noundef 32768, i32 noundef 536870912)
          to label %1143 unwind label %.loopexit789

1143:                                             ; preds = %1142
  invoke void @_ZN11FastPForLib5diffsISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEET_RKS5_b(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %131, ptr noundef nonnull align 8 dereferenceable(24) %132, i1 noundef zeroext false)
          to label %1144 unwind label %.loopexit794

1144:                                             ; preds = %1143
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %130, ptr noundef nonnull align 8 dereferenceable(24) %131)
          to label %1145 unwind label %.loopexit799

1145:                                             ; preds = %1144
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %131) #9
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %132) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %132) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %131) #9
  %1146 = add nuw nsw i64 %.0174622, 1
  %exitcond788.not = icmp eq i64 %1146, 1024
  br i1 %exitcond788.not, label %1140, label %1142, !llvm.loop !26

.loopexit789:                                     ; preds = %1142
  %lpad.loopexit791 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp790

.loopexit.split-lp790.loopexit:                   ; preds = %1168
  %lpad.loopexit804 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp790

.loopexit.split-lp790.loopexit.split-lp:          ; preds = %1191
  %lpad.loopexit.split-lp805 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp790

.loopexit794:                                     ; preds = %1143
  %lpad.loopexit796 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp795

.loopexit.split-lp795.loopexit:                   ; preds = %1169
  %lpad.loopexit807 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp795

.loopexit.split-lp795.loopexit.split-lp:          ; preds = %1192
  %lpad.loopexit.split-lp808 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp795

.loopexit799:                                     ; preds = %1144
  %lpad.loopexit801 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp800

.loopexit.split-lp800.loopexit:                   ; preds = %1170
  %lpad.loopexit810 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp800

.loopexit.split-lp800.loopexit.split-lp:          ; preds = %1193
  %lpad.loopexit.split-lp811 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp800

.loopexit.split-lp800:                            ; preds = %.loopexit.split-lp800.loopexit, %.loopexit.split-lp800.loopexit.split-lp, %.loopexit799
  %lpad.phi803 = phi { ptr, i32 } [ %lpad.loopexit801, %.loopexit799 ], [ %lpad.loopexit810, %.loopexit.split-lp800.loopexit ], [ %lpad.loopexit.split-lp811, %.loopexit.split-lp800.loopexit.split-lp ]
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %131) #9
  br label %.loopexit.split-lp795

.loopexit.split-lp795:                            ; preds = %.loopexit794, %.loopexit.split-lp795.loopexit.split-lp, %.loopexit.split-lp795.loopexit, %.loopexit.split-lp800
  %.pn320 = phi { ptr, i32 } [ %lpad.phi803, %.loopexit.split-lp800 ], [ %lpad.loopexit796, %.loopexit794 ], [ %lpad.loopexit807, %.loopexit.split-lp795.loopexit ], [ %lpad.loopexit.split-lp808, %.loopexit.split-lp795.loopexit.split-lp ]
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %132) #9
  br label %.loopexit.split-lp790

.loopexit.split-lp790:                            ; preds = %.loopexit789, %.loopexit.split-lp790.loopexit.split-lp, %.loopexit.split-lp790.loopexit, %.loopexit.split-lp795
  %.pn320.pn = phi { ptr, i32 } [ %.pn320, %.loopexit.split-lp795 ], [ %lpad.loopexit791, %.loopexit789 ], [ %lpad.loopexit804, %.loopexit.split-lp790.loopexit ], [ %lpad.loopexit.split-lp805, %.loopexit.split-lp790.loopexit.split-lp ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %132) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %131) #9
  br label %1215

1147:                                             ; preds = %1140
  %1148 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %130) #9
  %1149 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %1141, i64 noundef %1148)
          to label %1150 unwind label %1162

1150:                                             ; preds = %1147
  %1151 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1149, ptr noundef nonnull @.str.46)
          to label %1152 unwind label %1162

1152:                                             ; preds = %1150
  %1153 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1151, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1154 unwind label %1162

1154:                                             ; preds = %1152
  %1155 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.41)
          to label %1156 unwind label %1162

1156:                                             ; preds = %1154
  %1157 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1155, i32 noundef 32768)
          to label %1158 unwind label %1162

1158:                                             ; preds = %1156
  %1159 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1157, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1160 unwind label %1162

1160:                                             ; preds = %1158
  br i1 %1134, label %1161, label %1166

1161:                                             ; preds = %1160
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %130, i64 noundef 65536)
          to label %1166 unwind label %1164

1162:                                             ; preds = %1207, %1205, %1203, %1201, %1199, %1196, %1194, %1186, %1184, %1182, %1180, %1178, %1175, %1173, %1158, %1156, %1154, %1152, %1150, %1147, %1140
  %1163 = landingpad { ptr, i32 }
          cleanup
  br label %1215

1164:                                             ; preds = %1210, %1189, %1161
  %1165 = landingpad { ptr, i32 }
          cleanup
  br label %1215

1166:                                             ; preds = %1161, %1160
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %133) #9
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %133, i1 noundef zeroext false, i1 noundef zeroext %1135, i1 noundef zeroext %1136, i1 noundef zeroext %1137, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %134, i32 noundef 14) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %130, ptr noundef nonnull align 1 dereferenceable(6) %133, ptr noundef nonnull %134)
          to label %1167 unwind label %1213

1167:                                             ; preds = %1166
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %133) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %130) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %130) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %130) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %130) #9
  br label %1168

1168:                                             ; preds = %1171, %1167
  %.0174622.1 = phi i64 [ 0, %1167 ], [ %1172, %1171 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %131) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %132) #9
  invoke void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %132, ptr noundef nonnull align 8 dereferenceable(7504) %129, i32 noundef 1048576, i32 noundef 536870912)
          to label %1169 unwind label %.loopexit.split-lp790.loopexit

1169:                                             ; preds = %1168
  invoke void @_ZN11FastPForLib5diffsISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEET_RKS5_b(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %131, ptr noundef nonnull align 8 dereferenceable(24) %132, i1 noundef zeroext false)
          to label %1170 unwind label %.loopexit.split-lp795.loopexit

1170:                                             ; preds = %1169
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %130, ptr noundef nonnull align 8 dereferenceable(24) %131)
          to label %1171 unwind label %.loopexit.split-lp800.loopexit

1171:                                             ; preds = %1170
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %131) #9
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %132) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %132) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %131) #9
  %1172 = add nuw nsw i64 %.0174622.1, 1
  %exitcond788.1.not = icmp eq i64 %1172, 32
  br i1 %exitcond788.1.not, label %1173, label %1168, !llvm.loop !26

1173:                                             ; preds = %1171
  %1174 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %1175 unwind label %1162

1175:                                             ; preds = %1173
  %1176 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %130) #9
  %1177 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %1174, i64 noundef %1176)
          to label %1178 unwind label %1162

1178:                                             ; preds = %1175
  %1179 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1177, ptr noundef nonnull @.str.46)
          to label %1180 unwind label %1162

1180:                                             ; preds = %1178
  %1181 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1179, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1182 unwind label %1162

1182:                                             ; preds = %1180
  %1183 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.41)
          to label %1184 unwind label %1162

1184:                                             ; preds = %1182
  %1185 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1183, i32 noundef 1048576)
          to label %1186 unwind label %1162

1186:                                             ; preds = %1184
  %1187 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1185, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1188 unwind label %1162

1188:                                             ; preds = %1186
  br i1 %1134, label %1189, label %1190

1189:                                             ; preds = %1188
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %130, i64 noundef 65536)
          to label %1190 unwind label %1164

1190:                                             ; preds = %1189, %1188
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %133) #9
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %133, i1 noundef zeroext false, i1 noundef zeroext %1135, i1 noundef zeroext %1136, i1 noundef zeroext %1137, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %134, i32 noundef 9) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %130, ptr noundef nonnull align 1 dereferenceable(6) %133, ptr noundef nonnull %134)
          to label %1191 unwind label %1213

1191:                                             ; preds = %1190
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %133) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %130) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %130) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %130) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %130) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %131) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %132) #9
  invoke void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %132, ptr noundef nonnull align 8 dereferenceable(7504) %129, i32 noundef 33554432, i32 noundef 536870912)
          to label %1192 unwind label %.loopexit.split-lp790.loopexit.split-lp

1192:                                             ; preds = %1191
  invoke void @_ZN11FastPForLib5diffsISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEET_RKS5_b(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %131, ptr noundef nonnull align 8 dereferenceable(24) %132, i1 noundef zeroext false)
          to label %1193 unwind label %.loopexit.split-lp795.loopexit.split-lp

1193:                                             ; preds = %1192
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %130, ptr noundef nonnull align 8 dereferenceable(24) %131)
          to label %1194 unwind label %.loopexit.split-lp800.loopexit.split-lp

1194:                                             ; preds = %1193
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %131) #9
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %132) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %132) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %131) #9
  %1195 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %1196 unwind label %1162

1196:                                             ; preds = %1194
  %1197 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %130) #9
  %1198 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %1195, i64 noundef %1197)
          to label %1199 unwind label %1162

1199:                                             ; preds = %1196
  %1200 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1198, ptr noundef nonnull @.str.46)
          to label %1201 unwind label %1162

1201:                                             ; preds = %1199
  %1202 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1200, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1203 unwind label %1162

1203:                                             ; preds = %1201
  %1204 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.41)
          to label %1205 unwind label %1162

1205:                                             ; preds = %1203
  %1206 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1204, i32 noundef 33554432)
          to label %1207 unwind label %1162

1207:                                             ; preds = %1205
  %1208 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1206, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1209 unwind label %1162

1209:                                             ; preds = %1207
  br i1 %1134, label %1210, label %1211

1210:                                             ; preds = %1209
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %130, i64 noundef 65536)
          to label %1211 unwind label %1164

1211:                                             ; preds = %1210, %1209
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %133) #9
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %133, i1 noundef zeroext false, i1 noundef zeroext %1135, i1 noundef zeroext %1136, i1 noundef zeroext %1137, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %134, i32 noundef 4) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %130, ptr noundef nonnull align 1 dereferenceable(6) %133, ptr noundef nonnull %134)
          to label %1212 unwind label %1213

1212:                                             ; preds = %1211
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %133) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %130) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %130) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %136) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %135, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %136)
          to label %1216 unwind label %1218

1213:                                             ; preds = %1211, %1190, %1166
  %1214 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %133) #9
  br label %1215

1215:                                             ; preds = %1164, %1213, %1162, %.loopexit.split-lp790
  %.pn320.pn.pn = phi { ptr, i32 } [ %.pn320.pn, %.loopexit.split-lp790 ], [ %1163, %1162 ], [ %1214, %1213 ], [ %1165, %1164 ]
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %130) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %130) #9
  br label %1223

1216:                                             ; preds = %1212
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull %135)
          to label %1217 unwind label %1220

1217:                                             ; preds = %1216
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %136) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %129) #9
  br label %.thread463

1218:                                             ; preds = %1212
  %1219 = landingpad { ptr, i32 }
          cleanup
  br label %1222

1220:                                             ; preds = %1216
  %1221 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #9
  br label %1222

1222:                                             ; preds = %1220, %1218
  %.pn316 = phi { ptr, i32 } [ %1221, %1220 ], [ %1219, %1218 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %136) #9
  br label %1223

1223:                                             ; preds = %1222, %1215, %1138
  %.pn320.pn.pn.pn = phi { ptr, i32 } [ %.pn320.pn.pn, %1215 ], [ %.pn316, %1222 ], [ %1139, %1138 ]
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %129) #9
  br label %1334

1224:                                             ; preds = %1124
  %1225 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %267, ptr noundef nonnull dereferenceable(1) @.str.47) #10
  %1226 = icmp eq i32 %1225, 0
  br i1 %1226, label %1227, label %1324

1227:                                             ; preds = %1224
  %1228 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.30)
          to label %1229 unwind label %.loopexit.split-lp

1229:                                             ; preds = %1227
  %1230 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1228, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1231 unwind label %.loopexit.split-lp

1231:                                             ; preds = %1229
  call void @llvm.lifetime.start.p0(i64 7504, ptr nonnull %137) #9
  %1232 = call i64 @time(ptr noundef null) #9
  %1233 = trunc i64 %1232 to i32
  invoke void @_ZN11FastPForLib20UniformDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504) %137, i32 noundef %1233)
          to label %.preheader487 unwind label %1238

.preheader487:                                    ; preds = %1231
  %1234 = trunc nuw i8 %.0186 to i1
  %1235 = trunc nuw i8 %.0171 to i1
  %1236 = trunc nuw i8 %.0176 to i1
  %1237 = trunc nuw i8 %.0181 to i1
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %138) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #9
  br label %1242

1238:                                             ; preds = %1231
  %1239 = landingpad { ptr, i32 }
          cleanup
  br label %1323

1240:                                             ; preds = %1245
  %1241 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %1247 unwind label %1262

1242:                                             ; preds = %.preheader487, %1245
  %.0169620 = phi i64 [ 0, %.preheader487 ], [ %1246, %1245 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %139) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %140) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %140, ptr noundef nonnull align 8 dereferenceable(7504) %137, i32 noundef 32768, i32 noundef 536870912)
          to label %1243 unwind label %.loopexit765

1243:                                             ; preds = %1242
  invoke void @_ZN11FastPForLib5diffsISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEET_RKS5_b(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %139, ptr noundef nonnull align 8 dereferenceable(24) %140, i1 noundef zeroext false)
          to label %1244 unwind label %.loopexit769

1244:                                             ; preds = %1243
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %138, ptr noundef nonnull align 8 dereferenceable(24) %139)
          to label %1245 unwind label %.loopexit774

1245:                                             ; preds = %1244
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %139) #9
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %140) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %140) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %139) #9
  %1246 = add nuw nsw i64 %.0169620, 1
  %exitcond.not = icmp eq i64 %1246, 1024
  br i1 %exitcond.not, label %1240, label %1242, !llvm.loop !27

.loopexit765:                                     ; preds = %1242
  %lpad.loopexit767 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp766

.loopexit.split-lp766.loopexit:                   ; preds = %1268
  %lpad.loopexit779 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp766

.loopexit.split-lp766.loopexit.split-lp:          ; preds = %1291
  %lpad.loopexit.split-lp780 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp766

.loopexit769:                                     ; preds = %1243
  %lpad.loopexit771 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp770

.loopexit.split-lp770.loopexit:                   ; preds = %1269
  %lpad.loopexit782 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp770

.loopexit.split-lp770.loopexit.split-lp:          ; preds = %1292
  %lpad.loopexit.split-lp783 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp770

.loopexit774:                                     ; preds = %1244
  %lpad.loopexit776 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp775

.loopexit.split-lp775.loopexit:                   ; preds = %1270
  %lpad.loopexit785 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp775

.loopexit.split-lp775.loopexit.split-lp:          ; preds = %1293
  %lpad.loopexit.split-lp786 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp775

.loopexit.split-lp775:                            ; preds = %.loopexit.split-lp775.loopexit, %.loopexit.split-lp775.loopexit.split-lp, %.loopexit774
  %lpad.phi778 = phi { ptr, i32 } [ %lpad.loopexit776, %.loopexit774 ], [ %lpad.loopexit785, %.loopexit.split-lp775.loopexit ], [ %lpad.loopexit.split-lp786, %.loopexit.split-lp775.loopexit.split-lp ]
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %139) #9
  br label %.loopexit.split-lp770

.loopexit.split-lp770:                            ; preds = %.loopexit769, %.loopexit.split-lp770.loopexit.split-lp, %.loopexit.split-lp770.loopexit, %.loopexit.split-lp775
  %.pn311 = phi { ptr, i32 } [ %lpad.phi778, %.loopexit.split-lp775 ], [ %lpad.loopexit771, %.loopexit769 ], [ %lpad.loopexit782, %.loopexit.split-lp770.loopexit ], [ %lpad.loopexit.split-lp783, %.loopexit.split-lp770.loopexit.split-lp ]
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %140) #9
  br label %.loopexit.split-lp766

.loopexit.split-lp766:                            ; preds = %.loopexit765, %.loopexit.split-lp766.loopexit.split-lp, %.loopexit.split-lp766.loopexit, %.loopexit.split-lp770
  %.pn311.pn = phi { ptr, i32 } [ %.pn311, %.loopexit.split-lp770 ], [ %lpad.loopexit767, %.loopexit765 ], [ %lpad.loopexit779, %.loopexit.split-lp766.loopexit ], [ %lpad.loopexit.split-lp780, %.loopexit.split-lp766.loopexit.split-lp ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %140) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %139) #9
  br label %1315

1247:                                             ; preds = %1240
  %1248 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %138) #9
  %1249 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %1241, i64 noundef %1248)
          to label %1250 unwind label %1262

1250:                                             ; preds = %1247
  %1251 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1249, ptr noundef nonnull @.str.46)
          to label %1252 unwind label %1262

1252:                                             ; preds = %1250
  %1253 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1251, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1254 unwind label %1262

1254:                                             ; preds = %1252
  %1255 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.41)
          to label %1256 unwind label %1262

1256:                                             ; preds = %1254
  %1257 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1255, i32 noundef 32768)
          to label %1258 unwind label %1262

1258:                                             ; preds = %1256
  %1259 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1257, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1260 unwind label %1262

1260:                                             ; preds = %1258
  br i1 %1234, label %1261, label %1266

1261:                                             ; preds = %1260
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %138, i64 noundef 65536)
          to label %1266 unwind label %1264

1262:                                             ; preds = %1307, %1305, %1303, %1301, %1299, %1296, %1294, %1286, %1284, %1282, %1280, %1278, %1275, %1273, %1258, %1256, %1254, %1252, %1250, %1247, %1240
  %1263 = landingpad { ptr, i32 }
          cleanup
  br label %1315

1264:                                             ; preds = %1310, %1289, %1261
  %1265 = landingpad { ptr, i32 }
          cleanup
  br label %1315

1266:                                             ; preds = %1261, %1260
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %141) #9
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %141, i1 noundef zeroext false, i1 noundef zeroext %1235, i1 noundef zeroext %1236, i1 noundef zeroext %1237, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %142, i32 noundef 14) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %138, ptr noundef nonnull align 1 dereferenceable(6) %141, ptr noundef nonnull %142)
          to label %1267 unwind label %1313

1267:                                             ; preds = %1266
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %141) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %138) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %138) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #9
  br label %1268

1268:                                             ; preds = %1271, %1267
  %.0169620.1 = phi i64 [ 0, %1267 ], [ %1272, %1271 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %139) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %140) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %140, ptr noundef nonnull align 8 dereferenceable(7504) %137, i32 noundef 1048576, i32 noundef 536870912)
          to label %1269 unwind label %.loopexit.split-lp766.loopexit

1269:                                             ; preds = %1268
  invoke void @_ZN11FastPForLib5diffsISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEET_RKS5_b(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %139, ptr noundef nonnull align 8 dereferenceable(24) %140, i1 noundef zeroext false)
          to label %1270 unwind label %.loopexit.split-lp770.loopexit

1270:                                             ; preds = %1269
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %138, ptr noundef nonnull align 8 dereferenceable(24) %139)
          to label %1271 unwind label %.loopexit.split-lp775.loopexit

1271:                                             ; preds = %1270
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %139) #9
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %140) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %140) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %139) #9
  %1272 = add nuw nsw i64 %.0169620.1, 1
  %exitcond.1.not = icmp eq i64 %1272, 32
  br i1 %exitcond.1.not, label %1273, label %1268, !llvm.loop !27

1273:                                             ; preds = %1271
  %1274 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %1275 unwind label %1262

1275:                                             ; preds = %1273
  %1276 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %138) #9
  %1277 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %1274, i64 noundef %1276)
          to label %1278 unwind label %1262

1278:                                             ; preds = %1275
  %1279 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1277, ptr noundef nonnull @.str.46)
          to label %1280 unwind label %1262

1280:                                             ; preds = %1278
  %1281 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1279, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1282 unwind label %1262

1282:                                             ; preds = %1280
  %1283 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.41)
          to label %1284 unwind label %1262

1284:                                             ; preds = %1282
  %1285 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1283, i32 noundef 1048576)
          to label %1286 unwind label %1262

1286:                                             ; preds = %1284
  %1287 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1285, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1288 unwind label %1262

1288:                                             ; preds = %1286
  br i1 %1234, label %1289, label %1290

1289:                                             ; preds = %1288
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %138, i64 noundef 65536)
          to label %1290 unwind label %1264

1290:                                             ; preds = %1289, %1288
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %141) #9
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %141, i1 noundef zeroext false, i1 noundef zeroext %1235, i1 noundef zeroext %1236, i1 noundef zeroext %1237, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %142, i32 noundef 9) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %138, ptr noundef nonnull align 1 dereferenceable(6) %141, ptr noundef nonnull %142)
          to label %1291 unwind label %1313

1291:                                             ; preds = %1290
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %141) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %138) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %138) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %139) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %140) #9
  invoke void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %140, ptr noundef nonnull align 8 dereferenceable(7504) %137, i32 noundef 33554432, i32 noundef 536870912)
          to label %1292 unwind label %.loopexit.split-lp766.loopexit.split-lp

1292:                                             ; preds = %1291
  invoke void @_ZN11FastPForLib5diffsISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEET_RKS5_b(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %139, ptr noundef nonnull align 8 dereferenceable(24) %140, i1 noundef zeroext false)
          to label %1293 unwind label %.loopexit.split-lp770.loopexit.split-lp

1293:                                             ; preds = %1292
  invoke void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %138, ptr noundef nonnull align 8 dereferenceable(24) %139)
          to label %1294 unwind label %.loopexit.split-lp775.loopexit.split-lp

1294:                                             ; preds = %1293
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %139) #9
  call void @_ZNSt6vectorIjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %140) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %140) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %139) #9
  %1295 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.27)
          to label %1296 unwind label %1262

1296:                                             ; preds = %1294
  %1297 = call noundef i64 @_ZNKSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %138) #9
  %1298 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %1295, i64 noundef %1297)
          to label %1299 unwind label %1262

1299:                                             ; preds = %1296
  %1300 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1298, ptr noundef nonnull @.str.46)
          to label %1301 unwind label %1262

1301:                                             ; preds = %1299
  %1302 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1300, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1303 unwind label %1262

1303:                                             ; preds = %1301
  %1304 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.41)
          to label %1305 unwind label %1262

1305:                                             ; preds = %1303
  %1306 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %1304, i32 noundef 33554432)
          to label %1307 unwind label %1262

1307:                                             ; preds = %1305
  %1308 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1306, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1309 unwind label %1262

1309:                                             ; preds = %1307
  br i1 %1234, label %1310, label %1311

1310:                                             ; preds = %1309
  invoke void @_ZN11FastPForLib15splitLongArraysISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS1_IT_SaIS5_EEm(ptr noundef nonnull align 8 dereferenceable(24) %138, i64 noundef 65536)
          to label %1311 unwind label %1264

1311:                                             ; preds = %1310, %1309
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %141) #9
  call void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6) %141, i1 noundef zeroext false, i1 noundef zeroext %1235, i1 noundef zeroext %1236, i1 noundef zeroext %1237, i1 noundef zeroext false, i1 noundef zeroext false)
  call void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %142, i32 noundef 4) #9
  invoke void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %138, ptr noundef nonnull align 1 dereferenceable(6) %141, ptr noundef nonnull %142)
          to label %1312 unwind label %1313

1312:                                             ; preds = %1311
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %141) #9
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %138) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %144) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %144) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %143, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %144)
          to label %1316 unwind label %1318

1313:                                             ; preds = %1311, %1290, %1266
  %1314 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #9
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %141) #9
  br label %1315

1315:                                             ; preds = %1264, %1313, %1262, %.loopexit.split-lp766
  %.pn311.pn.pn = phi { ptr, i32 } [ %.pn311.pn, %.loopexit.split-lp766 ], [ %1263, %1262 ], [ %1314, %1313 ], [ %1265, %1264 ]
  call void @_ZNSt6vectorIS_IjN11FastPForLib19AlignedSTLAllocatorIjLm64EEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %138) #9
  br label %1323

1316:                                             ; preds = %1312
  invoke void @_ZN11FastPForLib9summarizeERSt6vectorINS_9algostatsESaIS1_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull %143)
          to label %1317 unwind label %1320

1317:                                             ; preds = %1316
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %144) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %144) #9
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %137) #9
  br label %.thread463

1318:                                             ; preds = %1312
  %1319 = landingpad { ptr, i32 }
          cleanup
  br label %1322

1320:                                             ; preds = %1316
  %1321 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #9
  br label %1322

1322:                                             ; preds = %1320, %1318
  %.pn = phi { ptr, i32 } [ %1321, %1320 ], [ %1319, %1318 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %144) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %144) #9
  br label %1323

1323:                                             ; preds = %1322, %1315, %1238
  %.pn311.pn.pn.pn = phi { ptr, i32 } [ %.pn311.pn.pn, %1315 ], [ %.pn, %1322 ], [ %1239, %1238 ]
  call void @llvm.lifetime.end.p0(i64 7504, ptr nonnull %137) #9
  br label %1334

1324:                                             ; preds = %1224
  %1325 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.48)
          to label %1326 unwind label %.loopexit

1326:                                             ; preds = %1324
  %1327 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1325, ptr noundef %267)
          to label %1328 unwind label %.loopexit

1328:                                             ; preds = %1326
  %1329 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1327, ptr noundef nonnull @.str.49)
          to label %1330 unwind label %.loopexit

1330:                                             ; preds = %1328
  %1331 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1329, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1333 unwind label %.loopexit

1332:                                             ; preds = %161
  br label %1333

.thread463:                                       ; preds = %262, %299, %344, %396, %448, %500, %552, %609, %661, %711, %763, %867, %965, %1041, %1117, %1217, %1317
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #9
  br label %1338

1333:                                             ; preds = %161, %250, %252, %253, %254, %165, %1330, %1332
  %.2188 = phi i8 [ %.0186, %254 ], [ %.0186, %253 ], [ %.0186, %252 ], [ %.0186, %250 ], [ 0, %165 ], [ %.0186, %1330 ], [ %.0186, %1332 ], [ %.0186, %161 ]
  %.2183 = phi i8 [ %.0181, %254 ], [ %.0181, %253 ], [ %.0181, %252 ], [ %.0181, %250 ], [ %.0181, %165 ], [ %.0181, %1330 ], [ %.0181, %1332 ], [ 1, %161 ]
  %.2178 = phi i8 [ %.0176, %254 ], [ %.0176, %253 ], [ 1, %252 ], [ %.0176, %250 ], [ %.0176, %165 ], [ %.0176, %1330 ], [ %.0176, %1332 ], [ %.0176, %161 ]
  %.2173 = phi i8 [ 1, %254 ], [ 0, %253 ], [ %.0171, %252 ], [ %.0171, %250 ], [ %.0171, %165 ], [ %.0171, %1330 ], [ %.0171, %1332 ], [ %.0171, %161 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #9
  br label %161

1334:                                             ; preds = %.loopexit, %.loopexit.split-lp, %.loopexit488, %.loopexit.split-lp489, %311, %356, %408, %460, %512, %564, %621, %673, %723, %775, %873, %971, %1047, %1123, %1223, %1323, %251
  %.pn452 = phi { ptr, i32 } [ %.pn447.pn.pn.pn, %251 ], [ %.pn435.pn, %311 ], [ %.pn428, %356 ], [ %.pn418.pn, %408 ], [ %.pn410.pn, %460 ], [ %.pn402.pn, %512 ], [ %.pn394.pn, %564 ], [ %.pn386.pn, %621 ], [ %.pn378.pn, %673 ], [ %.pn370.pn, %723 ], [ %.pn362.pn, %775 ], [ %.pn353.pn.pn, %873 ], [ %.pn345.pn.pn, %971 ], [ %.pn337.pn.pn, %1047 ], [ %.pn329.pn.pn, %1123 ], [ %.pn320.pn.pn.pn, %1223 ], [ %.pn311.pn.pn.pn, %1323 ], [ %lpad.loopexit490, %.loopexit488 ], [ %lpad.loopexit.split-lp491, %.loopexit.split-lp489 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #9
  br label %1339

1335:                                             ; preds = %161
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #9
  invoke void @_Z7messagev()
          to label %1338 unwind label %1336

1336:                                             ; preds = %1335
  %1337 = landingpad { ptr, i32 }
          cleanup
  br label %1339

1338:                                             ; preds = %.thread463, %1335
  call void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #9
  call void @_ZNSt6vectorISt10shared_ptrIN11FastPForLib12IntegerCODECEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #9
  call void @_ZN11FastPForLib12CODECFactoryD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %3) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3) #9
  ret i32 0

1339:                                             ; preds = %1334, %1336, %160
  %.pn456.pn = phi { ptr, i32 } [ %.pn456, %160 ], [ %1337, %1336 ], [ %.pn452, %1334 ]
  call void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #9
  call void @_ZNSt6vectorISt10shared_ptrIN11FastPForLib12IntegerCODECEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  br label %1340

1340:                                             ; preds = %1339, %149
  %.pn456.pn.pn = phi { ptr, i32 } [ %.pn456.pn, %1339 ], [ %150, %149 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #9
  call void @_ZN11FastPForLib12CODECFactoryD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %3) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3) #9
  resume { ptr, i32 } %.pn456.pn.pn
}

; Function Attrs: nounwind
declare void @srand(i32 noundef) local_unnamed_addr #3

declare void @_ZN11FastPForLib12CODECFactory10allSchemesEv(ptr dead_on_unwind writable sret(%"class.std::vector.13") align 8, ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #6

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPSt10shared_ptrIN11FastPForLib12IntegerCODECEESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #7

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(185)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN11FastPForLib9algostatsC2ERSt10shared_ptrINS_12IntegerCODECEEb(ptr noundef nonnull align 8 dereferenceable(185), ptr noundef nonnull align 8 dereferenceable(16), i1 noundef zeroext) unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN11FastPForLib9algostatsD2Ev(ptr noundef nonnull align 8 dereferenceable(185)) unnamed_addr #7 align 2

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

; Function Attrs: nounwind
declare i32 @getopt_long(i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1 align 2

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

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

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

; Function Attrs: nounwind
declare noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #3

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

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) local_unnamed_addr #2 align 2

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZN11FastPForLib12CODECFactory11getFromNameENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef) local_unnamed_addr #6

; Function Attrs: mustprogress nounwind uwtable
declare noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(185) ptr @_ZNSt6vectorIN11FastPForLib9algostatsESaIS1_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11FastPForLib9algostats4nameB5cxx11Ev(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(185)) local_unnamed_addr #2 align 2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN11FastPForLib17processparametersC2Ebbbbbb(ptr noundef nonnull align 1 dereferenceable(6), i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11FastPForLib5Delta7processISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEEvRS2_INS_9algostatsESaIS6_EERKS2_IT_SaISA_EERNS_17processparametersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(6), ptr noundef) local_unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11FastPForLib20UniformDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504), i32 noundef) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11FastPForLib20UniformDataGenerator15generateUniformEjj(ptr dead_on_unwind noalias writable sret(%"class.std::vector") align 8, ptr noundef nonnull align 8 dereferenceable(7504), i32 noundef, i32 noundef) local_unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11FastPForLib22ClusteredDataGeneratorC2Ej(ptr noundef nonnull align 8 dereferenceable(7504), i32 noundef) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11FastPForLib22ClusteredDataGenerator17generateClusteredEjj(ptr dead_on_unwind noalias writable sret(%"class.std::vector") align 8, ptr noundef nonnull align 8 dereferenceable(7504), i32 noundef, i32 noundef) local_unnamed_addr #2 align 2

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZNSt7__cxx119to_stringEj(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11FastPForLib5diffsISt6vectorIjNS_19AlignedSTLAllocatorIjLm64EEEEEET_RKS5_b(ptr dead_on_unwind noalias writable sret(%"class.std::vector") align 8, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) local_unnamed_addr #2

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

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

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

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

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


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass,TailCallElimPass