; LLVM IR from quantumlib/Stim :: src/stim/gates/gate_data_controlled.ll (ZN4stim11GateDataMap24add_gate_data_controlledERb)

; 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::complex" = type { { float, float } }
%"struct.stim::Gate" = type { %"class.std::basic_string_view", i8, i8, i8, i16, %"class.std::basic_string_view", %"class.std::basic_string_view", %"class.stim::FixedCapVector", %"class.stim::FixedCapVector.4", ptr }
%"class.std::basic_string_view" = type { i64, ptr }
%"class.stim::FixedCapVector" = type { %"struct.std::array.1", i64 }
%"struct.std::array.1" = type { [4 x %"class.stim::FixedCapVector.2"] }
%"class.stim::FixedCapVector.2" = type { %"struct.std::array.3", i64 }
%"struct.std::array.3" = type { [4 x %"class.std::complex"] }
%"class.stim::FixedCapVector.4" = type { %"struct.std::array.5", i64 }
%"struct.std::array.5" = type { [10 x ptr] }
%"class.std::initializer_list" = type { ptr, i64 }
%"class.std::initializer_list.6" = type { ptr, i64 }
%"class.std::initializer_list.7" = type { ptr, i64 }

@.str = external hidden unnamed_addr constant [4 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [306 x i8], align 1
@constinit = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.3 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.4 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.5 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.10 = external hidden constant [4 x ptr], align 8
@.str.11 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [306 x i8], align 1
@_ZL1i = external hidden constant %"class.std::complex", align 4
@constinit.16 = external hidden constant [4 x ptr], align 8
@.str.17 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [900 x i8], align 1
@constinit.20 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.21 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.22 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.23 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.26 = external hidden constant [4 x ptr], align 8
@.str.27 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [308 x i8], align 1
@constinit.31 = external hidden constant [4 x ptr], align 8
@.str.32 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [308 x i8], align 1
@constinit.37 = external hidden constant [4 x ptr], align 8
@.str.38 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [915 x i8], align 1
@constinit.41 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.42 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.43 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.44 = external hidden constant [4 x ptr], align 8
@.str.45 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [852 x i8], align 1
@constinit.48 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.49 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.50 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.51 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.53 = external hidden constant [4 x ptr], align 8
@.str.54 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [851 x i8], align 1
@constinit.59 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.60 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.61 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.62 = external hidden constant [4 x ptr], align 8
@.str.63 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [954 x i8], align 1
@constinit.67 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.68 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.69 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.70 = external hidden constant [4 x %"class.std::complex"], align 4
@constinit.71 = external hidden constant [4 x ptr], align 8
@.str.72 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [4 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4stim11GateDataMap24add_gate_data_controlledERb(ptr noundef nonnull align 8 dereferenceable(38528) %0, ptr noundef nonnull align 1 dereferenceable(1) %1) #0 align 2 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca %"struct.stim::Gate", align 8
  %6 = alloca %"class.std::initializer_list", align 8
  %7 = alloca [4 x %"class.stim::FixedCapVector.2"], align 8
  %8 = alloca %"class.std::initializer_list.6", align 8
  %9 = alloca [4 x %"class.std::complex"], align 4
  %10 = alloca %"class.std::initializer_list.6", align 8
  %11 = alloca [4 x %"class.std::complex"], align 4
  %12 = alloca %"class.std::initializer_list.6", align 8
  %13 = alloca [4 x %"class.std::complex"], align 4
  %14 = alloca %"class.std::initializer_list.6", align 8
  %15 = alloca [4 x %"class.std::complex"], align 4
  %16 = alloca %"class.std::initializer_list.7", align 8
  %17 = alloca [4 x ptr], align 8
  %18 = alloca %"struct.stim::Gate", align 8
  %19 = alloca %"class.std::initializer_list", align 8
  %20 = alloca [4 x %"class.stim::FixedCapVector.2"], align 8
  %21 = alloca %"class.std::initializer_list.6", align 8
  %22 = alloca [4 x %"class.std::complex"], align 4
  %23 = alloca float, align 4
  %24 = alloca float, align 4
  %25 = alloca %"class.std::initializer_list.6", align 8
  %26 = alloca [4 x %"class.std::complex"], align 4
  %27 = alloca float, align 4
  %28 = alloca float, align 4
  %29 = alloca %"class.std::initializer_list.6", align 8
  %30 = alloca [4 x %"class.std::complex"], align 4
  %31 = alloca float, align 4
  %32 = alloca float, align 4
  %33 = alloca %"class.std::initializer_list.6", align 8
  %34 = alloca [4 x %"class.std::complex"], align 4
  %35 = alloca float, align 4
  %36 = alloca float, align 4
  %37 = alloca %"class.std::initializer_list.7", align 8
  %38 = alloca [4 x ptr], align 8
  %39 = alloca %"struct.stim::Gate", align 8
  %40 = alloca %"class.std::initializer_list", align 8
  %41 = alloca [4 x %"class.stim::FixedCapVector.2"], align 8
  %42 = alloca %"class.std::initializer_list.6", align 8
  %43 = alloca [4 x %"class.std::complex"], align 4
  %44 = alloca %"class.std::initializer_list.6", align 8
  %45 = alloca [4 x %"class.std::complex"], align 4
  %46 = alloca %"class.std::initializer_list.6", align 8
  %47 = alloca [4 x %"class.std::complex"], align 4
  %48 = alloca %"class.std::initializer_list.6", align 8
  %49 = alloca [4 x %"class.std::complex"], align 4
  %50 = alloca %"class.std::initializer_list.7", align 8
  %51 = alloca [4 x ptr], align 8
  %52 = alloca %"struct.stim::Gate", align 8
  %53 = alloca %"class.std::initializer_list", align 8
  %54 = alloca [4 x %"class.stim::FixedCapVector.2"], align 8
  %55 = alloca %"class.std::initializer_list.6", align 8
  %56 = alloca [4 x %"class.std::complex"], align 4
  %57 = alloca %"class.std::complex", align 4
  %58 = alloca float, align 4
  %59 = alloca float, align 4
  %60 = alloca %"class.std::initializer_list.6", align 8
  %61 = alloca [4 x %"class.std::complex"], align 4
  %62 = alloca float, align 4
  %63 = alloca %"class.std::complex", align 4
  %64 = alloca float, align 4
  %65 = alloca %"class.std::initializer_list.6", align 8
  %66 = alloca [4 x %"class.std::complex"], align 4
  %67 = alloca float, align 4
  %68 = alloca %"class.std::complex", align 4
  %69 = alloca float, align 4
  %70 = alloca %"class.std::initializer_list.6", align 8
  %71 = alloca [4 x %"class.std::complex"], align 4
  %72 = alloca %"class.std::complex", align 4
  %73 = alloca float, align 4
  %74 = alloca float, align 4
  %75 = alloca %"class.std::initializer_list.7", align 8
  %76 = alloca [4 x ptr], align 8
  %77 = alloca %"struct.stim::Gate", align 8
  %78 = alloca %"class.std::initializer_list", align 8
  %79 = alloca [4 x %"class.stim::FixedCapVector.2"], align 8
  %80 = alloca %"class.std::initializer_list.6", align 8
  %81 = alloca [4 x %"class.std::complex"], align 4
  %82 = alloca %"class.std::complex", align 4
  %83 = alloca float, align 4
  %84 = alloca %"class.std::complex", align 4
  %85 = alloca float, align 4
  %86 = alloca %"class.std::initializer_list.6", align 8
  %87 = alloca [4 x %"class.std::complex"], align 4
  %88 = alloca float, align 4
  %89 = alloca %"class.std::complex", align 4
  %90 = alloca float, align 4
  %91 = alloca %"class.std::initializer_list.6", align 8
  %92 = alloca [4 x %"class.std::complex"], align 4
  %93 = alloca float, align 4
  %94 = alloca %"class.std::complex", align 4
  %95 = alloca float, align 4
  %96 = alloca %"class.std::initializer_list.6", align 8
  %97 = alloca [4 x %"class.std::complex"], align 4
  %98 = alloca float, align 4
  %99 = alloca float, align 4
  %100 = alloca %"class.std::initializer_list.7", align 8
  %101 = alloca [4 x ptr], align 8
  %102 = alloca %"struct.stim::Gate", align 8
  %103 = alloca %"class.std::initializer_list", align 8
  %104 = alloca [4 x %"class.stim::FixedCapVector.2"], align 8
  %105 = alloca %"class.std::initializer_list.6", align 8
  %106 = alloca [4 x %"class.std::complex"], align 4
  %107 = alloca %"class.std::initializer_list.6", align 8
  %108 = alloca [4 x %"class.std::complex"], align 4
  %109 = alloca %"class.std::initializer_list.6", align 8
  %110 = alloca [4 x %"class.std::complex"], align 4
  %111 = alloca %"class.std::initializer_list.6", align 8
  %112 = alloca [4 x %"class.std::complex"], align 4
  %113 = alloca %"class.std::initializer_list.7", align 8
  %114 = alloca [4 x ptr], align 8
  %115 = alloca %"struct.stim::Gate", align 8
  %116 = alloca %"class.std::initializer_list", align 8
  %117 = alloca [4 x %"class.stim::FixedCapVector.2"], align 8
  %118 = alloca %"class.std::initializer_list.6", align 8
  %119 = alloca [4 x %"class.std::complex"], align 4
  %120 = alloca %"class.std::initializer_list.6", align 8
  %121 = alloca [4 x %"class.std::complex"], align 4
  %122 = alloca %"class.std::initializer_list.6", align 8
  %123 = alloca [4 x %"class.std::complex"], align 4
  %124 = alloca %"class.std::initializer_list.6", align 8
  %125 = alloca [4 x %"class.std::complex"], align 4
  %126 = alloca %"class.std::initializer_list.7", align 8
  %127 = alloca [4 x ptr], align 8
  %128 = alloca %"struct.stim::Gate", align 8
  %129 = alloca %"class.std::initializer_list", align 8
  %130 = alloca [4 x %"class.stim::FixedCapVector.2"], align 8
  %131 = alloca %"class.std::initializer_list.6", align 8
  %132 = alloca [4 x %"class.std::complex"], align 4
  %133 = alloca %"class.std::initializer_list.6", align 8
  %134 = alloca [4 x %"class.std::complex"], align 4
  %135 = alloca %"class.std::initializer_list.6", align 8
  %136 = alloca [4 x %"class.std::complex"], align 4
  %137 = alloca %"class.std::initializer_list.6", align 8
  %138 = alloca [4 x %"class.std::complex"], align 4
  %139 = alloca %"class.std::initializer_list.7", align 8
  %140 = alloca [4 x ptr], align 8
  %141 = alloca %"struct.stim::Gate", align 8
  %142 = alloca %"class.std::initializer_list", align 8
  %143 = alloca [4 x %"class.stim::FixedCapVector.2"], align 8
  %144 = alloca %"class.std::initializer_list.6", align 8
  %145 = alloca [4 x %"class.std::complex"], align 4
  %146 = alloca %"class.std::initializer_list.6", align 8
  %147 = alloca [4 x %"class.std::complex"], align 4
  %148 = alloca %"class.std::initializer_list.6", align 8
  %149 = alloca [4 x %"class.std::complex"], align 4
  %150 = alloca %"class.std::initializer_list.6", align 8
  %151 = alloca [4 x %"class.std::complex"], align 4
  %152 = alloca %"class.std::initializer_list.7", align 8
  %153 = alloca [4 x ptr], align 8
  store ptr %0, ptr %3, align 8, !tbaa !5
  store ptr %1, ptr %4, align 8, !tbaa !5
  %154 = load ptr, ptr %3, align 8
  %155 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 320, ptr %5) #8
  %156 = getelementptr inbounds %"struct.stim::Gate", ptr %5, i32 0, i32 0
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %156, ptr noundef @.str) #8
  %157 = getelementptr inbounds %"struct.stim::Gate", ptr %5, i32 0, i32 1
  store i8 17, ptr %157, align 8, !tbaa !9
  %158 = getelementptr inbounds %"struct.stim::Gate", ptr %5, i32 0, i32 2
  store i8 17, ptr %158, align 1, !tbaa !19
  %159 = getelementptr inbounds %"struct.stim::Gate", ptr %5, i32 0, i32 3
  store i8 0, ptr %159, align 2, !tbaa !20
  %160 = getelementptr inbounds %"struct.stim::Gate", ptr %5, i32 0, i32 4
  store i16 65, ptr %160, align 4, !tbaa !21
  %161 = getelementptr inbounds %"struct.stim::Gate", ptr %5, i32 0, i32 5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %161, ptr noundef @.str.1) #8
  %162 = getelementptr inbounds %"struct.stim::Gate", ptr %5, i32 0, i32 6
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %162, ptr noundef @.str.2) #8
  %163 = getelementptr inbounds %"struct.stim::Gate", ptr %5, i32 0, i32 7
  call void @llvm.lifetime.start.p0(i64 160, ptr %7) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %9) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %9, ptr align 4 @constinit, i64 32, i1 false), !tbaa.struct !22
  %164 = getelementptr inbounds %"class.std::initializer_list.6", ptr %8, i32 0, i32 0
  store ptr %9, ptr %164, align 8, !tbaa !24
  %165 = getelementptr inbounds %"class.std::initializer_list.6", ptr %8, i32 0, i32 1
  store i64 4, ptr %165, align 8, !tbaa !26
  %166 = getelementptr inbounds { ptr, i64 }, ptr %8, i32 0, i32 0
  %167 = load ptr, ptr %166, align 8
  %168 = getelementptr inbounds { ptr, i64 }, ptr %8, i32 0, i32 1
  %169 = load i64, ptr %168, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %7, ptr %167, i64 %169)
  %170 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %7, i64 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %11, ptr align 4 @constinit.3, i64 32, i1 false), !tbaa.struct !22
  %171 = getelementptr inbounds %"class.std::initializer_list.6", ptr %10, i32 0, i32 0
  store ptr %11, ptr %171, align 8, !tbaa !24
  %172 = getelementptr inbounds %"class.std::initializer_list.6", ptr %10, i32 0, i32 1
  store i64 4, ptr %172, align 8, !tbaa !26
  %173 = getelementptr inbounds { ptr, i64 }, ptr %10, i32 0, i32 0
  %174 = load ptr, ptr %173, align 8
  %175 = getelementptr inbounds { ptr, i64 }, ptr %10, i32 0, i32 1
  %176 = load i64, ptr %175, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %170, ptr %174, i64 %176)
  %177 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %7, i64 2
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %13, ptr align 4 @constinit.4, i64 32, i1 false), !tbaa.struct !22
  %178 = getelementptr inbounds %"class.std::initializer_list.6", ptr %12, i32 0, i32 0
  store ptr %13, ptr %178, align 8, !tbaa !24
  %179 = getelementptr inbounds %"class.std::initializer_list.6", ptr %12, i32 0, i32 1
  store i64 4, ptr %179, align 8, !tbaa !26
  %180 = getelementptr inbounds { ptr, i64 }, ptr %12, i32 0, i32 0
  %181 = load ptr, ptr %180, align 8
  %182 = getelementptr inbounds { ptr, i64 }, ptr %12, i32 0, i32 1
  %183 = load i64, ptr %182, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %177, ptr %181, i64 %183)
  %184 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %7, i64 3
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %15, ptr align 4 @constinit.5, i64 32, i1 false), !tbaa.struct !22
  %185 = getelementptr inbounds %"class.std::initializer_list.6", ptr %14, i32 0, i32 0
  store ptr %15, ptr %185, align 8, !tbaa !24
  %186 = getelementptr inbounds %"class.std::initializer_list.6", ptr %14, i32 0, i32 1
  store i64 4, ptr %186, align 8, !tbaa !26
  %187 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 0
  %188 = load ptr, ptr %187, align 8
  %189 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 1
  %190 = load i64, ptr %189, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %184, ptr %188, i64 %190)
  %191 = getelementptr inbounds %"class.std::initializer_list", ptr %6, i32 0, i32 0
  store ptr %7, ptr %191, align 8, !tbaa !27
  %192 = getelementptr inbounds %"class.std::initializer_list", ptr %6, i32 0, i32 1
  store i64 4, ptr %192, align 8, !tbaa !29
  %193 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0
  %194 = load ptr, ptr %193, align 8
  %195 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1
  %196 = load i64, ptr %195, align 8
  call void @_ZN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEC2ESt16initializer_listIS3_E(ptr noundef nonnull align 8 dereferenceable(168) %163, ptr %194, i64 %196)
  %197 = getelementptr inbounds %"struct.stim::Gate", ptr %5, i32 0, i32 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 @constinit.10, i64 32, i1 false), !tbaa.struct !22
  %198 = getelementptr inbounds %"class.std::initializer_list.7", ptr %16, i32 0, i32 0
  store ptr %17, ptr %198, align 8, !tbaa !30
  %199 = getelementptr inbounds %"class.std::initializer_list.7", ptr %16, i32 0, i32 1
  store i64 4, ptr %199, align 8, !tbaa !32
  %200 = getelementptr inbounds { ptr, i64 }, ptr %16, i32 0, i32 0
  %201 = load ptr, ptr %200, align 8
  %202 = getelementptr inbounds { ptr, i64 }, ptr %16, i32 0, i32 1
  %203 = load i64, ptr %202, align 8
  call void @_ZN4stim14FixedCapVectorIPKcLm10EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(88) %197, ptr %201, i64 %203)
  %204 = getelementptr inbounds %"struct.stim::Gate", ptr %5, i32 0, i32 9
  store ptr @.str.11, ptr %204, align 8, !tbaa !33
  call void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528) %154, ptr noundef nonnull align 1 dereferenceable(1) %155, ptr noundef nonnull align 8 dereferenceable(320) %5)
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #8
  call void @llvm.lifetime.end.p0(i64 160, ptr %7) #8
  call void @llvm.lifetime.end.p0(i64 320, ptr %5) #8
  %205 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 320, ptr %18) #8
  %206 = getelementptr inbounds %"struct.stim::Gate", ptr %18, i32 0, i32 0
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %206, ptr noundef @.str.12) #8
  %207 = getelementptr inbounds %"struct.stim::Gate", ptr %18, i32 0, i32 1
  store i8 18, ptr %207, align 8, !tbaa !9
  %208 = getelementptr inbounds %"struct.stim::Gate", ptr %18, i32 0, i32 2
  store i8 18, ptr %208, align 1, !tbaa !19
  %209 = getelementptr inbounds %"struct.stim::Gate", ptr %18, i32 0, i32 3
  store i8 0, ptr %209, align 2, !tbaa !20
  %210 = getelementptr inbounds %"struct.stim::Gate", ptr %18, i32 0, i32 4
  store i16 65, ptr %210, align 4, !tbaa !21
  %211 = getelementptr inbounds %"struct.stim::Gate", ptr %18, i32 0, i32 5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %211, ptr noundef @.str.1) #8
  %212 = getelementptr inbounds %"struct.stim::Gate", ptr %18, i32 0, i32 6
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %212, ptr noundef @.str.13) #8
  %213 = getelementptr inbounds %"struct.stim::Gate", ptr %18, i32 0, i32 7
  call void @llvm.lifetime.start.p0(i64 160, ptr %20) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %22, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %214 = getelementptr inbounds %"class.std::complex", ptr %22, i64 1
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %214, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %215 = getelementptr inbounds %"class.std::complex", ptr %22, i64 2
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #8
  store float -5.000000e-01, ptr %23, align 4, !tbaa !34
  %216 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS1_RKS2_(ptr noundef nonnull align 4 dereferenceable(4) %23, ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  %217 = getelementptr inbounds %"class.std::complex", ptr %215, i32 0, i32 0
  store <2 x float> %216, ptr %217, align 4
  %218 = getelementptr inbounds %"class.std::complex", ptr %22, i64 3
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #8
  store float 5.000000e-01, ptr %24, align 4, !tbaa !34
  %219 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS1_RKS2_(ptr noundef nonnull align 4 dereferenceable(4) %24, ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  %220 = getelementptr inbounds %"class.std::complex", ptr %218, i32 0, i32 0
  store <2 x float> %219, ptr %220, align 4
  %221 = getelementptr inbounds %"class.std::initializer_list.6", ptr %21, i32 0, i32 0
  store ptr %22, ptr %221, align 8, !tbaa !24
  %222 = getelementptr inbounds %"class.std::initializer_list.6", ptr %21, i32 0, i32 1
  store i64 4, ptr %222, align 8, !tbaa !26
  %223 = getelementptr inbounds { ptr, i64 }, ptr %21, i32 0, i32 0
  %224 = load ptr, ptr %223, align 8
  %225 = getelementptr inbounds { ptr, i64 }, ptr %21, i32 0, i32 1
  %226 = load i64, ptr %225, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %20, ptr %224, i64 %226)
  %227 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %20, i64 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %26, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %228 = getelementptr inbounds %"class.std::complex", ptr %26, i64 1
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %228, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %229 = getelementptr inbounds %"class.std::complex", ptr %26, i64 2
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #8
  store float 5.000000e-01, ptr %27, align 4, !tbaa !34
  %230 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS1_RKS2_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  %231 = getelementptr inbounds %"class.std::complex", ptr %229, i32 0, i32 0
  store <2 x float> %230, ptr %231, align 4
  %232 = getelementptr inbounds %"class.std::complex", ptr %26, i64 3
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #8
  store float -5.000000e-01, ptr %28, align 4, !tbaa !34
  %233 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS1_RKS2_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  %234 = getelementptr inbounds %"class.std::complex", ptr %232, i32 0, i32 0
  store <2 x float> %233, ptr %234, align 4
  %235 = getelementptr inbounds %"class.std::initializer_list.6", ptr %25, i32 0, i32 0
  store ptr %26, ptr %235, align 8, !tbaa !24
  %236 = getelementptr inbounds %"class.std::initializer_list.6", ptr %25, i32 0, i32 1
  store i64 4, ptr %236, align 8, !tbaa !26
  %237 = getelementptr inbounds { ptr, i64 }, ptr %25, i32 0, i32 0
  %238 = load ptr, ptr %237, align 8
  %239 = getelementptr inbounds { ptr, i64 }, ptr %25, i32 0, i32 1
  %240 = load i64, ptr %239, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %227, ptr %238, i64 %240)
  %241 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %20, i64 2
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #8
  store float 5.000000e-01, ptr %31, align 4, !tbaa !34
  %242 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS1_RKS2_(ptr noundef nonnull align 4 dereferenceable(4) %31, ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  %243 = getelementptr inbounds %"class.std::complex", ptr %30, i32 0, i32 0
  store <2 x float> %242, ptr %243, align 4
  %244 = getelementptr inbounds %"class.std::complex", ptr %30, i64 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #8
  store float -5.000000e-01, ptr %32, align 4, !tbaa !34
  %245 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS1_RKS2_(ptr noundef nonnull align 4 dereferenceable(4) %32, ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  %246 = getelementptr inbounds %"class.std::complex", ptr %244, i32 0, i32 0
  store <2 x float> %245, ptr %246, align 4
  %247 = getelementptr inbounds %"class.std::complex", ptr %30, i64 2
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %247, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %248 = getelementptr inbounds %"class.std::complex", ptr %30, i64 3
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %248, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %249 = getelementptr inbounds %"class.std::initializer_list.6", ptr %29, i32 0, i32 0
  store ptr %30, ptr %249, align 8, !tbaa !24
  %250 = getelementptr inbounds %"class.std::initializer_list.6", ptr %29, i32 0, i32 1
  store i64 4, ptr %250, align 8, !tbaa !26
  %251 = getelementptr inbounds { ptr, i64 }, ptr %29, i32 0, i32 0
  %252 = load ptr, ptr %251, align 8
  %253 = getelementptr inbounds { ptr, i64 }, ptr %29, i32 0, i32 1
  %254 = load i64, ptr %253, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %241, ptr %252, i64 %254)
  %255 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %20, i64 3
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #8
  store float -5.000000e-01, ptr %35, align 4, !tbaa !34
  %256 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS1_RKS2_(ptr noundef nonnull align 4 dereferenceable(4) %35, ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  %257 = getelementptr inbounds %"class.std::complex", ptr %34, i32 0, i32 0
  store <2 x float> %256, ptr %257, align 4
  %258 = getelementptr inbounds %"class.std::complex", ptr %34, i64 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #8
  store float 5.000000e-01, ptr %36, align 4, !tbaa !34
  %259 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS1_RKS2_(ptr noundef nonnull align 4 dereferenceable(4) %36, ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  %260 = getelementptr inbounds %"class.std::complex", ptr %258, i32 0, i32 0
  store <2 x float> %259, ptr %260, align 4
  %261 = getelementptr inbounds %"class.std::complex", ptr %34, i64 2
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %261, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %262 = getelementptr inbounds %"class.std::complex", ptr %34, i64 3
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %262, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %263 = getelementptr inbounds %"class.std::initializer_list.6", ptr %33, i32 0, i32 0
  store ptr %34, ptr %263, align 8, !tbaa !24
  %264 = getelementptr inbounds %"class.std::initializer_list.6", ptr %33, i32 0, i32 1
  store i64 4, ptr %264, align 8, !tbaa !26
  %265 = getelementptr inbounds { ptr, i64 }, ptr %33, i32 0, i32 0
  %266 = load ptr, ptr %265, align 8
  %267 = getelementptr inbounds { ptr, i64 }, ptr %33, i32 0, i32 1
  %268 = load i64, ptr %267, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %255, ptr %266, i64 %268)
  %269 = getelementptr inbounds %"class.std::initializer_list", ptr %19, i32 0, i32 0
  store ptr %20, ptr %269, align 8, !tbaa !27
  %270 = getelementptr inbounds %"class.std::initializer_list", ptr %19, i32 0, i32 1
  store i64 4, ptr %270, align 8, !tbaa !29
  %271 = getelementptr inbounds { ptr, i64 }, ptr %19, i32 0, i32 0
  %272 = load ptr, ptr %271, align 8
  %273 = getelementptr inbounds { ptr, i64 }, ptr %19, i32 0, i32 1
  %274 = load i64, ptr %273, align 8
  call void @_ZN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEC2ESt16initializer_listIS3_E(ptr noundef nonnull align 8 dereferenceable(168) %213, ptr %272, i64 %274)
  %275 = getelementptr inbounds %"struct.stim::Gate", ptr %18, i32 0, i32 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %38, ptr align 8 @constinit.16, i64 32, i1 false), !tbaa.struct !22
  %276 = getelementptr inbounds %"class.std::initializer_list.7", ptr %37, i32 0, i32 0
  store ptr %38, ptr %276, align 8, !tbaa !30
  %277 = getelementptr inbounds %"class.std::initializer_list.7", ptr %37, i32 0, i32 1
  store i64 4, ptr %277, align 8, !tbaa !32
  %278 = getelementptr inbounds { ptr, i64 }, ptr %37, i32 0, i32 0
  %279 = load ptr, ptr %278, align 8
  %280 = getelementptr inbounds { ptr, i64 }, ptr %37, i32 0, i32 1
  %281 = load i64, ptr %280, align 8
  call void @_ZN4stim14FixedCapVectorIPKcLm10EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(88) %275, ptr %279, i64 %281)
  %282 = getelementptr inbounds %"struct.stim::Gate", ptr %18, i32 0, i32 9
  store ptr @.str.17, ptr %282, align 8, !tbaa !33
  call void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528) %154, ptr noundef nonnull align 1 dereferenceable(1) %205, ptr noundef nonnull align 8 dereferenceable(320) %18)
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #8
  call void @llvm.lifetime.end.p0(i64 160, ptr %20) #8
  call void @llvm.lifetime.end.p0(i64 320, ptr %18) #8
  %283 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 320, ptr %39) #8
  %284 = getelementptr inbounds %"struct.stim::Gate", ptr %39, i32 0, i32 0
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %284, ptr noundef @.str.18) #8
  %285 = getelementptr inbounds %"struct.stim::Gate", ptr %39, i32 0, i32 1
  store i8 19, ptr %285, align 8, !tbaa !9
  %286 = getelementptr inbounds %"struct.stim::Gate", ptr %39, i32 0, i32 2
  store i8 19, ptr %286, align 1, !tbaa !19
  %287 = getelementptr inbounds %"struct.stim::Gate", ptr %39, i32 0, i32 3
  store i8 0, ptr %287, align 2, !tbaa !20
  %288 = getelementptr inbounds %"struct.stim::Gate", ptr %39, i32 0, i32 4
  store i16 577, ptr %288, align 4, !tbaa !21
  %289 = getelementptr inbounds %"struct.stim::Gate", ptr %39, i32 0, i32 5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %289, ptr noundef @.str.1) #8
  %290 = getelementptr inbounds %"struct.stim::Gate", ptr %39, i32 0, i32 6
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %290, ptr noundef @.str.19) #8
  %291 = getelementptr inbounds %"struct.stim::Gate", ptr %39, i32 0, i32 7
  call void @llvm.lifetime.start.p0(i64 160, ptr %41) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %43, ptr align 4 @constinit.20, i64 32, i1 false), !tbaa.struct !22
  %292 = getelementptr inbounds %"class.std::initializer_list.6", ptr %42, i32 0, i32 0
  store ptr %43, ptr %292, align 8, !tbaa !24
  %293 = getelementptr inbounds %"class.std::initializer_list.6", ptr %42, i32 0, i32 1
  store i64 4, ptr %293, align 8, !tbaa !26
  %294 = getelementptr inbounds { ptr, i64 }, ptr %42, i32 0, i32 0
  %295 = load ptr, ptr %294, align 8
  %296 = getelementptr inbounds { ptr, i64 }, ptr %42, i32 0, i32 1
  %297 = load i64, ptr %296, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %41, ptr %295, i64 %297)
  %298 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %41, i64 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %45, ptr align 4 @constinit.21, i64 32, i1 false), !tbaa.struct !22
  %299 = getelementptr inbounds %"class.std::initializer_list.6", ptr %44, i32 0, i32 0
  store ptr %45, ptr %299, align 8, !tbaa !24
  %300 = getelementptr inbounds %"class.std::initializer_list.6", ptr %44, i32 0, i32 1
  store i64 4, ptr %300, align 8, !tbaa !26
  %301 = getelementptr inbounds { ptr, i64 }, ptr %44, i32 0, i32 0
  %302 = load ptr, ptr %301, align 8
  %303 = getelementptr inbounds { ptr, i64 }, ptr %44, i32 0, i32 1
  %304 = load i64, ptr %303, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %298, ptr %302, i64 %304)
  %305 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %41, i64 2
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %47, ptr align 4 @constinit.22, i64 32, i1 false), !tbaa.struct !22
  %306 = getelementptr inbounds %"class.std::initializer_list.6", ptr %46, i32 0, i32 0
  store ptr %47, ptr %306, align 8, !tbaa !24
  %307 = getelementptr inbounds %"class.std::initializer_list.6", ptr %46, i32 0, i32 1
  store i64 4, ptr %307, align 8, !tbaa !26
  %308 = getelementptr inbounds { ptr, i64 }, ptr %46, i32 0, i32 0
  %309 = load ptr, ptr %308, align 8
  %310 = getelementptr inbounds { ptr, i64 }, ptr %46, i32 0, i32 1
  %311 = load i64, ptr %310, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %305, ptr %309, i64 %311)
  %312 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %41, i64 3
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %49, ptr align 4 @constinit.23, i64 32, i1 false), !tbaa.struct !22
  %313 = getelementptr inbounds %"class.std::initializer_list.6", ptr %48, i32 0, i32 0
  store ptr %49, ptr %313, align 8, !tbaa !24
  %314 = getelementptr inbounds %"class.std::initializer_list.6", ptr %48, i32 0, i32 1
  store i64 4, ptr %314, align 8, !tbaa !26
  %315 = getelementptr inbounds { ptr, i64 }, ptr %48, i32 0, i32 0
  %316 = load ptr, ptr %315, align 8
  %317 = getelementptr inbounds { ptr, i64 }, ptr %48, i32 0, i32 1
  %318 = load i64, ptr %317, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %312, ptr %316, i64 %318)
  %319 = getelementptr inbounds %"class.std::initializer_list", ptr %40, i32 0, i32 0
  store ptr %41, ptr %319, align 8, !tbaa !27
  %320 = getelementptr inbounds %"class.std::initializer_list", ptr %40, i32 0, i32 1
  store i64 4, ptr %320, align 8, !tbaa !29
  %321 = getelementptr inbounds { ptr, i64 }, ptr %40, i32 0, i32 0
  %322 = load ptr, ptr %321, align 8
  %323 = getelementptr inbounds { ptr, i64 }, ptr %40, i32 0, i32 1
  %324 = load i64, ptr %323, align 8
  call void @_ZN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEC2ESt16initializer_listIS3_E(ptr noundef nonnull align 8 dereferenceable(168) %291, ptr %322, i64 %324)
  %325 = getelementptr inbounds %"struct.stim::Gate", ptr %39, i32 0, i32 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %51, ptr align 8 @constinit.26, i64 32, i1 false), !tbaa.struct !22
  %326 = getelementptr inbounds %"class.std::initializer_list.7", ptr %50, i32 0, i32 0
  store ptr %51, ptr %326, align 8, !tbaa !30
  %327 = getelementptr inbounds %"class.std::initializer_list.7", ptr %50, i32 0, i32 1
  store i64 4, ptr %327, align 8, !tbaa !32
  %328 = getelementptr inbounds { ptr, i64 }, ptr %50, i32 0, i32 0
  %329 = load ptr, ptr %328, align 8
  %330 = getelementptr inbounds { ptr, i64 }, ptr %50, i32 0, i32 1
  %331 = load i64, ptr %330, align 8
  call void @_ZN4stim14FixedCapVectorIPKcLm10EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(88) %325, ptr %329, i64 %331)
  %332 = getelementptr inbounds %"struct.stim::Gate", ptr %39, i32 0, i32 9
  store ptr @.str.27, ptr %332, align 8, !tbaa !33
  call void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528) %154, ptr noundef nonnull align 1 dereferenceable(1) %283, ptr noundef nonnull align 8 dereferenceable(320) %39)
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #8
  call void @llvm.lifetime.end.p0(i64 160, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 320, ptr %39) #8
  %333 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 320, ptr %52) #8
  %334 = getelementptr inbounds %"struct.stim::Gate", ptr %52, i32 0, i32 0
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %334, ptr noundef @.str.28) #8
  %335 = getelementptr inbounds %"struct.stim::Gate", ptr %52, i32 0, i32 1
  store i8 20, ptr %335, align 8, !tbaa !9
  %336 = getelementptr inbounds %"struct.stim::Gate", ptr %52, i32 0, i32 2
  store i8 20, ptr %336, align 1, !tbaa !19
  %337 = getelementptr inbounds %"struct.stim::Gate", ptr %52, i32 0, i32 3
  store i8 0, ptr %337, align 2, !tbaa !20
  %338 = getelementptr inbounds %"struct.stim::Gate", ptr %52, i32 0, i32 4
  store i16 65, ptr %338, align 4, !tbaa !21
  %339 = getelementptr inbounds %"struct.stim::Gate", ptr %52, i32 0, i32 5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %339, ptr noundef @.str.1) #8
  %340 = getelementptr inbounds %"struct.stim::Gate", ptr %52, i32 0, i32 6
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %340, ptr noundef @.str.29) #8
  %341 = getelementptr inbounds %"struct.stim::Gate", ptr %52, i32 0, i32 7
  call void @llvm.lifetime.start.p0(i64 160, ptr %54) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %56, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %342 = getelementptr inbounds %"class.std::complex", ptr %56, i64 1
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #8
  %343 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  %344 = getelementptr inbounds %"class.std::complex", ptr %57, i32 0, i32 0
  store <2 x float> %343, ptr %344, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #8
  store float 5.000000e-01, ptr %58, align 4, !tbaa !34
  %345 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) %57, ptr noundef nonnull align 4 dereferenceable(4) %58)
  %346 = getelementptr inbounds %"class.std::complex", ptr %342, i32 0, i32 0
  store <2 x float> %345, ptr %346, align 4
  %347 = getelementptr inbounds %"class.std::complex", ptr %56, i64 2
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %347, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %348 = getelementptr inbounds %"class.std::complex", ptr %56, i64 3
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #8
  store float 5.000000e-01, ptr %59, align 4, !tbaa !34
  %349 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i, ptr noundef nonnull align 4 dereferenceable(4) %59)
  %350 = getelementptr inbounds %"class.std::complex", ptr %348, i32 0, i32 0
  store <2 x float> %349, ptr %350, align 4
  %351 = getelementptr inbounds %"class.std::initializer_list.6", ptr %55, i32 0, i32 0
  store ptr %56, ptr %351, align 8, !tbaa !24
  %352 = getelementptr inbounds %"class.std::initializer_list.6", ptr %55, i32 0, i32 1
  store i64 4, ptr %352, align 8, !tbaa !26
  %353 = getelementptr inbounds { ptr, i64 }, ptr %55, i32 0, i32 0
  %354 = load ptr, ptr %353, align 8
  %355 = getelementptr inbounds { ptr, i64 }, ptr %55, i32 0, i32 1
  %356 = load i64, ptr %355, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %54, ptr %354, i64 %356)
  %357 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %54, i64 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #8
  store float 5.000000e-01, ptr %62, align 4, !tbaa !34
  %358 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i, ptr noundef nonnull align 4 dereferenceable(4) %62)
  %359 = getelementptr inbounds %"class.std::complex", ptr %61, i32 0, i32 0
  store <2 x float> %358, ptr %359, align 4
  %360 = getelementptr inbounds %"class.std::complex", ptr %61, i64 1
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %360, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %361 = getelementptr inbounds %"class.std::complex", ptr %61, i64 2
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #8
  %362 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  %363 = getelementptr inbounds %"class.std::complex", ptr %63, i32 0, i32 0
  store <2 x float> %362, ptr %363, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #8
  store float 5.000000e-01, ptr %64, align 4, !tbaa !34
  %364 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) %63, ptr noundef nonnull align 4 dereferenceable(4) %64)
  %365 = getelementptr inbounds %"class.std::complex", ptr %361, i32 0, i32 0
  store <2 x float> %364, ptr %365, align 4
  %366 = getelementptr inbounds %"class.std::complex", ptr %61, i64 3
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %366, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %367 = getelementptr inbounds %"class.std::initializer_list.6", ptr %60, i32 0, i32 0
  store ptr %61, ptr %367, align 8, !tbaa !24
  %368 = getelementptr inbounds %"class.std::initializer_list.6", ptr %60, i32 0, i32 1
  store i64 4, ptr %368, align 8, !tbaa !26
  %369 = getelementptr inbounds { ptr, i64 }, ptr %60, i32 0, i32 0
  %370 = load ptr, ptr %369, align 8
  %371 = getelementptr inbounds { ptr, i64 }, ptr %60, i32 0, i32 1
  %372 = load i64, ptr %371, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %357, ptr %370, i64 %372)
  %373 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %54, i64 2
  call void @llvm.lifetime.start.p0(i64 32, ptr %66) #8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %66, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %374 = getelementptr inbounds %"class.std::complex", ptr %66, i64 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #8
  store float 5.000000e-01, ptr %67, align 4, !tbaa !34
  %375 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i, ptr noundef nonnull align 4 dereferenceable(4) %67)
  %376 = getelementptr inbounds %"class.std::complex", ptr %374, i32 0, i32 0
  store <2 x float> %375, ptr %376, align 4
  %377 = getelementptr inbounds %"class.std::complex", ptr %66, i64 2
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %377, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %378 = getelementptr inbounds %"class.std::complex", ptr %66, i64 3
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #8
  %379 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  %380 = getelementptr inbounds %"class.std::complex", ptr %68, i32 0, i32 0
  store <2 x float> %379, ptr %380, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #8
  store float 5.000000e-01, ptr %69, align 4, !tbaa !34
  %381 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) %68, ptr noundef nonnull align 4 dereferenceable(4) %69)
  %382 = getelementptr inbounds %"class.std::complex", ptr %378, i32 0, i32 0
  store <2 x float> %381, ptr %382, align 4
  %383 = getelementptr inbounds %"class.std::initializer_list.6", ptr %65, i32 0, i32 0
  store ptr %66, ptr %383, align 8, !tbaa !24
  %384 = getelementptr inbounds %"class.std::initializer_list.6", ptr %65, i32 0, i32 1
  store i64 4, ptr %384, align 8, !tbaa !26
  %385 = getelementptr inbounds { ptr, i64 }, ptr %65, i32 0, i32 0
  %386 = load ptr, ptr %385, align 8
  %387 = getelementptr inbounds { ptr, i64 }, ptr %65, i32 0, i32 1
  %388 = load i64, ptr %387, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %373, ptr %386, i64 %388)
  %389 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %54, i64 3
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #8
  %390 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  %391 = getelementptr inbounds %"class.std::complex", ptr %72, i32 0, i32 0
  store <2 x float> %390, ptr %391, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #8
  store float 5.000000e-01, ptr %73, align 4, !tbaa !34
  %392 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) %72, ptr noundef nonnull align 4 dereferenceable(4) %73)
  %393 = getelementptr inbounds %"class.std::complex", ptr %71, i32 0, i32 0
  store <2 x float> %392, ptr %393, align 4
  %394 = getelementptr inbounds %"class.std::complex", ptr %71, i64 1
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %394, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %395 = getelementptr inbounds %"class.std::complex", ptr %71, i64 2
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #8
  store float 5.000000e-01, ptr %74, align 4, !tbaa !34
  %396 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i, ptr noundef nonnull align 4 dereferenceable(4) %74)
  %397 = getelementptr inbounds %"class.std::complex", ptr %395, i32 0, i32 0
  store <2 x float> %396, ptr %397, align 4
  %398 = getelementptr inbounds %"class.std::complex", ptr %71, i64 3
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %398, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %399 = getelementptr inbounds %"class.std::initializer_list.6", ptr %70, i32 0, i32 0
  store ptr %71, ptr %399, align 8, !tbaa !24
  %400 = getelementptr inbounds %"class.std::initializer_list.6", ptr %70, i32 0, i32 1
  store i64 4, ptr %400, align 8, !tbaa !26
  %401 = getelementptr inbounds { ptr, i64 }, ptr %70, i32 0, i32 0
  %402 = load ptr, ptr %401, align 8
  %403 = getelementptr inbounds { ptr, i64 }, ptr %70, i32 0, i32 1
  %404 = load i64, ptr %403, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %389, ptr %402, i64 %404)
  %405 = getelementptr inbounds %"class.std::initializer_list", ptr %53, i32 0, i32 0
  store ptr %54, ptr %405, align 8, !tbaa !27
  %406 = getelementptr inbounds %"class.std::initializer_list", ptr %53, i32 0, i32 1
  store i64 4, ptr %406, align 8, !tbaa !29
  %407 = getelementptr inbounds { ptr, i64 }, ptr %53, i32 0, i32 0
  %408 = load ptr, ptr %407, align 8
  %409 = getelementptr inbounds { ptr, i64 }, ptr %53, i32 0, i32 1
  %410 = load i64, ptr %409, align 8
  call void @_ZN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEC2ESt16initializer_listIS3_E(ptr noundef nonnull align 8 dereferenceable(168) %341, ptr %408, i64 %410)
  %411 = getelementptr inbounds %"struct.stim::Gate", ptr %52, i32 0, i32 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %76) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %76, ptr align 8 @constinit.31, i64 32, i1 false), !tbaa.struct !22
  %412 = getelementptr inbounds %"class.std::initializer_list.7", ptr %75, i32 0, i32 0
  store ptr %76, ptr %412, align 8, !tbaa !30
  %413 = getelementptr inbounds %"class.std::initializer_list.7", ptr %75, i32 0, i32 1
  store i64 4, ptr %413, align 8, !tbaa !32
  %414 = getelementptr inbounds { ptr, i64 }, ptr %75, i32 0, i32 0
  %415 = load ptr, ptr %414, align 8
  %416 = getelementptr inbounds { ptr, i64 }, ptr %75, i32 0, i32 1
  %417 = load i64, ptr %416, align 8
  call void @_ZN4stim14FixedCapVectorIPKcLm10EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(88) %411, ptr %415, i64 %417)
  %418 = getelementptr inbounds %"struct.stim::Gate", ptr %52, i32 0, i32 9
  store ptr @.str.32, ptr %418, align 8, !tbaa !33
  call void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528) %154, ptr noundef nonnull align 1 dereferenceable(1) %333, ptr noundef nonnull align 8 dereferenceable(320) %52)
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #8
  call void @llvm.lifetime.end.p0(i64 160, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 320, ptr %52) #8
  %419 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 320, ptr %77) #8
  %420 = getelementptr inbounds %"struct.stim::Gate", ptr %77, i32 0, i32 0
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %420, ptr noundef @.str.33) #8
  %421 = getelementptr inbounds %"struct.stim::Gate", ptr %77, i32 0, i32 1
  store i8 21, ptr %421, align 8, !tbaa !9
  %422 = getelementptr inbounds %"struct.stim::Gate", ptr %77, i32 0, i32 2
  store i8 21, ptr %422, align 1, !tbaa !19
  %423 = getelementptr inbounds %"struct.stim::Gate", ptr %77, i32 0, i32 3
  store i8 0, ptr %423, align 2, !tbaa !20
  %424 = getelementptr inbounds %"struct.stim::Gate", ptr %77, i32 0, i32 4
  store i16 65, ptr %424, align 4, !tbaa !21
  %425 = getelementptr inbounds %"struct.stim::Gate", ptr %77, i32 0, i32 5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %425, ptr noundef @.str.1) #8
  %426 = getelementptr inbounds %"struct.stim::Gate", ptr %77, i32 0, i32 6
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %426, ptr noundef @.str.34) #8
  %427 = getelementptr inbounds %"struct.stim::Gate", ptr %77, i32 0, i32 7
  call void @llvm.lifetime.start.p0(i64 160, ptr %79) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %81, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %428 = getelementptr inbounds %"class.std::complex", ptr %81, i64 1
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #8
  %429 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  %430 = getelementptr inbounds %"class.std::complex", ptr %82, i32 0, i32 0
  store <2 x float> %429, ptr %430, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #8
  store float 5.000000e-01, ptr %83, align 4, !tbaa !34
  %431 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) %82, ptr noundef nonnull align 4 dereferenceable(4) %83)
  %432 = getelementptr inbounds %"class.std::complex", ptr %428, i32 0, i32 0
  store <2 x float> %431, ptr %432, align 4
  %433 = getelementptr inbounds %"class.std::complex", ptr %81, i64 2
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #8
  %434 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  %435 = getelementptr inbounds %"class.std::complex", ptr %84, i32 0, i32 0
  store <2 x float> %434, ptr %435, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #8
  store float 5.000000e-01, ptr %85, align 4, !tbaa !34
  %436 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) %84, ptr noundef nonnull align 4 dereferenceable(4) %85)
  %437 = getelementptr inbounds %"class.std::complex", ptr %433, i32 0, i32 0
  store <2 x float> %436, ptr %437, align 4
  %438 = getelementptr inbounds %"class.std::complex", ptr %81, i64 3
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %438, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %439 = getelementptr inbounds %"class.std::initializer_list.6", ptr %80, i32 0, i32 0
  store ptr %81, ptr %439, align 8, !tbaa !24
  %440 = getelementptr inbounds %"class.std::initializer_list.6", ptr %80, i32 0, i32 1
  store i64 4, ptr %440, align 8, !tbaa !26
  %441 = getelementptr inbounds { ptr, i64 }, ptr %80, i32 0, i32 0
  %442 = load ptr, ptr %441, align 8
  %443 = getelementptr inbounds { ptr, i64 }, ptr %80, i32 0, i32 1
  %444 = load i64, ptr %443, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %79, ptr %442, i64 %444)
  %445 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %79, i64 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %87) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #8
  store float 5.000000e-01, ptr %88, align 4, !tbaa !34
  %446 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i, ptr noundef nonnull align 4 dereferenceable(4) %88)
  %447 = getelementptr inbounds %"class.std::complex", ptr %87, i32 0, i32 0
  store <2 x float> %446, ptr %447, align 4
  %448 = getelementptr inbounds %"class.std::complex", ptr %87, i64 1
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %448, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %449 = getelementptr inbounds %"class.std::complex", ptr %87, i64 2
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %449, float noundef -5.000000e-01, float noundef 0.000000e+00)
  %450 = getelementptr inbounds %"class.std::complex", ptr %87, i64 3
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #8
  %451 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  %452 = getelementptr inbounds %"class.std::complex", ptr %89, i32 0, i32 0
  store <2 x float> %451, ptr %452, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #8
  store float 5.000000e-01, ptr %90, align 4, !tbaa !34
  %453 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) %89, ptr noundef nonnull align 4 dereferenceable(4) %90)
  %454 = getelementptr inbounds %"class.std::complex", ptr %450, i32 0, i32 0
  store <2 x float> %453, ptr %454, align 4
  %455 = getelementptr inbounds %"class.std::initializer_list.6", ptr %86, i32 0, i32 0
  store ptr %87, ptr %455, align 8, !tbaa !24
  %456 = getelementptr inbounds %"class.std::initializer_list.6", ptr %86, i32 0, i32 1
  store i64 4, ptr %456, align 8, !tbaa !26
  %457 = getelementptr inbounds { ptr, i64 }, ptr %86, i32 0, i32 0
  %458 = load ptr, ptr %457, align 8
  %459 = getelementptr inbounds { ptr, i64 }, ptr %86, i32 0, i32 1
  %460 = load i64, ptr %459, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %445, ptr %458, i64 %460)
  %461 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %79, i64 2
  call void @llvm.lifetime.start.p0(i64 32, ptr %92) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #8
  store float 5.000000e-01, ptr %93, align 4, !tbaa !34
  %462 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i, ptr noundef nonnull align 4 dereferenceable(4) %93)
  %463 = getelementptr inbounds %"class.std::complex", ptr %92, i32 0, i32 0
  store <2 x float> %462, ptr %463, align 4
  %464 = getelementptr inbounds %"class.std::complex", ptr %92, i64 1
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %464, float noundef -5.000000e-01, float noundef 0.000000e+00)
  %465 = getelementptr inbounds %"class.std::complex", ptr %92, i64 2
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %465, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %466 = getelementptr inbounds %"class.std::complex", ptr %92, i64 3
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #8
  %467 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  %468 = getelementptr inbounds %"class.std::complex", ptr %94, i32 0, i32 0
  store <2 x float> %467, ptr %468, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #8
  store float 5.000000e-01, ptr %95, align 4, !tbaa !34
  %469 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) %94, ptr noundef nonnull align 4 dereferenceable(4) %95)
  %470 = getelementptr inbounds %"class.std::complex", ptr %466, i32 0, i32 0
  store <2 x float> %469, ptr %470, align 4
  %471 = getelementptr inbounds %"class.std::initializer_list.6", ptr %91, i32 0, i32 0
  store ptr %92, ptr %471, align 8, !tbaa !24
  %472 = getelementptr inbounds %"class.std::initializer_list.6", ptr %91, i32 0, i32 1
  store i64 4, ptr %472, align 8, !tbaa !26
  %473 = getelementptr inbounds { ptr, i64 }, ptr %91, i32 0, i32 0
  %474 = load ptr, ptr %473, align 8
  %475 = getelementptr inbounds { ptr, i64 }, ptr %91, i32 0, i32 1
  %476 = load i64, ptr %475, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %461, ptr %474, i64 %476)
  %477 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %79, i64 3
  call void @llvm.lifetime.start.p0(i64 32, ptr %97) #8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %97, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %478 = getelementptr inbounds %"class.std::complex", ptr %97, i64 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #8
  store float 5.000000e-01, ptr %98, align 4, !tbaa !34
  %479 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i, ptr noundef nonnull align 4 dereferenceable(4) %98)
  %480 = getelementptr inbounds %"class.std::complex", ptr %478, i32 0, i32 0
  store <2 x float> %479, ptr %480, align 4
  %481 = getelementptr inbounds %"class.std::complex", ptr %97, i64 2
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #8
  store float 5.000000e-01, ptr %99, align 4, !tbaa !34
  %482 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i, ptr noundef nonnull align 4 dereferenceable(4) %99)
  %483 = getelementptr inbounds %"class.std::complex", ptr %481, i32 0, i32 0
  store <2 x float> %482, ptr %483, align 4
  %484 = getelementptr inbounds %"class.std::complex", ptr %97, i64 3
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %484, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %485 = getelementptr inbounds %"class.std::initializer_list.6", ptr %96, i32 0, i32 0
  store ptr %97, ptr %485, align 8, !tbaa !24
  %486 = getelementptr inbounds %"class.std::initializer_list.6", ptr %96, i32 0, i32 1
  store i64 4, ptr %486, align 8, !tbaa !26
  %487 = getelementptr inbounds { ptr, i64 }, ptr %96, i32 0, i32 0
  %488 = load ptr, ptr %487, align 8
  %489 = getelementptr inbounds { ptr, i64 }, ptr %96, i32 0, i32 1
  %490 = load i64, ptr %489, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %477, ptr %488, i64 %490)
  %491 = getelementptr inbounds %"class.std::initializer_list", ptr %78, i32 0, i32 0
  store ptr %79, ptr %491, align 8, !tbaa !27
  %492 = getelementptr inbounds %"class.std::initializer_list", ptr %78, i32 0, i32 1
  store i64 4, ptr %492, align 8, !tbaa !29
  %493 = getelementptr inbounds { ptr, i64 }, ptr %78, i32 0, i32 0
  %494 = load ptr, ptr %493, align 8
  %495 = getelementptr inbounds { ptr, i64 }, ptr %78, i32 0, i32 1
  %496 = load i64, ptr %495, align 8
  call void @_ZN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEC2ESt16initializer_listIS3_E(ptr noundef nonnull align 8 dereferenceable(168) %427, ptr %494, i64 %496)
  %497 = getelementptr inbounds %"struct.stim::Gate", ptr %77, i32 0, i32 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %101) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %101, ptr align 8 @constinit.37, i64 32, i1 false), !tbaa.struct !22
  %498 = getelementptr inbounds %"class.std::initializer_list.7", ptr %100, i32 0, i32 0
  store ptr %101, ptr %498, align 8, !tbaa !30
  %499 = getelementptr inbounds %"class.std::initializer_list.7", ptr %100, i32 0, i32 1
  store i64 4, ptr %499, align 8, !tbaa !32
  %500 = getelementptr inbounds { ptr, i64 }, ptr %100, i32 0, i32 0
  %501 = load ptr, ptr %500, align 8
  %502 = getelementptr inbounds { ptr, i64 }, ptr %100, i32 0, i32 1
  %503 = load i64, ptr %502, align 8
  call void @_ZN4stim14FixedCapVectorIPKcLm10EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(88) %497, ptr %501, i64 %503)
  %504 = getelementptr inbounds %"struct.stim::Gate", ptr %77, i32 0, i32 9
  store ptr @.str.38, ptr %504, align 8, !tbaa !33
  call void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528) %154, ptr noundef nonnull align 1 dereferenceable(1) %419, ptr noundef nonnull align 8 dereferenceable(320) %77)
  call void @llvm.lifetime.end.p0(i64 32, ptr %101) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %97) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %92) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #8
  call void @llvm.lifetime.end.p0(i64 160, ptr %79) #8
  call void @llvm.lifetime.end.p0(i64 320, ptr %77) #8
  %505 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 320, ptr %102) #8
  %506 = getelementptr inbounds %"struct.stim::Gate", ptr %102, i32 0, i32 0
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %506, ptr noundef @.str.39) #8
  %507 = getelementptr inbounds %"struct.stim::Gate", ptr %102, i32 0, i32 1
  store i8 22, ptr %507, align 8, !tbaa !9
  %508 = getelementptr inbounds %"struct.stim::Gate", ptr %102, i32 0, i32 2
  store i8 22, ptr %508, align 1, !tbaa !19
  %509 = getelementptr inbounds %"struct.stim::Gate", ptr %102, i32 0, i32 3
  store i8 0, ptr %509, align 2, !tbaa !20
  %510 = getelementptr inbounds %"struct.stim::Gate", ptr %102, i32 0, i32 4
  store i16 577, ptr %510, align 4, !tbaa !21
  %511 = getelementptr inbounds %"struct.stim::Gate", ptr %102, i32 0, i32 5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %511, ptr noundef @.str.1) #8
  %512 = getelementptr inbounds %"struct.stim::Gate", ptr %102, i32 0, i32 6
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %512, ptr noundef @.str.40) #8
  %513 = getelementptr inbounds %"struct.stim::Gate", ptr %102, i32 0, i32 7
  call void @llvm.lifetime.start.p0(i64 160, ptr %104) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %106) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %106, ptr align 4 @constinit.41, i64 32, i1 false), !tbaa.struct !22
  %514 = getelementptr inbounds %"class.std::initializer_list.6", ptr %105, i32 0, i32 0
  store ptr %106, ptr %514, align 8, !tbaa !24
  %515 = getelementptr inbounds %"class.std::initializer_list.6", ptr %105, i32 0, i32 1
  store i64 4, ptr %515, align 8, !tbaa !26
  %516 = getelementptr inbounds { ptr, i64 }, ptr %105, i32 0, i32 0
  %517 = load ptr, ptr %516, align 8
  %518 = getelementptr inbounds { ptr, i64 }, ptr %105, i32 0, i32 1
  %519 = load i64, ptr %518, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %104, ptr %517, i64 %519)
  %520 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %104, i64 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %108) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %108, ptr align 4 @constinit.42, i64 32, i1 false), !tbaa.struct !22
  %521 = getelementptr inbounds %"class.std::initializer_list.6", ptr %107, i32 0, i32 0
  store ptr %108, ptr %521, align 8, !tbaa !24
  %522 = getelementptr inbounds %"class.std::initializer_list.6", ptr %107, i32 0, i32 1
  store i64 4, ptr %522, align 8, !tbaa !26
  %523 = getelementptr inbounds { ptr, i64 }, ptr %107, i32 0, i32 0
  %524 = load ptr, ptr %523, align 8
  %525 = getelementptr inbounds { ptr, i64 }, ptr %107, i32 0, i32 1
  %526 = load i64, ptr %525, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %520, ptr %524, i64 %526)
  %527 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %104, i64 2
  call void @llvm.lifetime.start.p0(i64 32, ptr %110) #8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %110, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %528 = getelementptr inbounds %"class.std::complex", ptr %110, i64 1
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %528, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %529 = getelementptr inbounds %"class.std::complex", ptr %110, i64 2
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %529, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %530 = getelementptr inbounds %"class.std::complex", ptr %110, i64 3
  %531 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  %532 = getelementptr inbounds %"class.std::complex", ptr %530, i32 0, i32 0
  store <2 x float> %531, ptr %532, align 4
  %533 = getelementptr inbounds %"class.std::initializer_list.6", ptr %109, i32 0, i32 0
  store ptr %110, ptr %533, align 8, !tbaa !24
  %534 = getelementptr inbounds %"class.std::initializer_list.6", ptr %109, i32 0, i32 1
  store i64 4, ptr %534, align 8, !tbaa !26
  %535 = getelementptr inbounds { ptr, i64 }, ptr %109, i32 0, i32 0
  %536 = load ptr, ptr %535, align 8
  %537 = getelementptr inbounds { ptr, i64 }, ptr %109, i32 0, i32 1
  %538 = load i64, ptr %537, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %527, ptr %536, i64 %538)
  %539 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %104, i64 3
  call void @llvm.lifetime.start.p0(i64 32, ptr %112) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %112, ptr align 4 @constinit.43, i64 32, i1 false), !tbaa.struct !22
  %540 = getelementptr inbounds %"class.std::initializer_list.6", ptr %111, i32 0, i32 0
  store ptr %112, ptr %540, align 8, !tbaa !24
  %541 = getelementptr inbounds %"class.std::initializer_list.6", ptr %111, i32 0, i32 1
  store i64 4, ptr %541, align 8, !tbaa !26
  %542 = getelementptr inbounds { ptr, i64 }, ptr %111, i32 0, i32 0
  %543 = load ptr, ptr %542, align 8
  %544 = getelementptr inbounds { ptr, i64 }, ptr %111, i32 0, i32 1
  %545 = load i64, ptr %544, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %539, ptr %543, i64 %545)
  %546 = getelementptr inbounds %"class.std::initializer_list", ptr %103, i32 0, i32 0
  store ptr %104, ptr %546, align 8, !tbaa !27
  %547 = getelementptr inbounds %"class.std::initializer_list", ptr %103, i32 0, i32 1
  store i64 4, ptr %547, align 8, !tbaa !29
  %548 = getelementptr inbounds { ptr, i64 }, ptr %103, i32 0, i32 0
  %549 = load ptr, ptr %548, align 8
  %550 = getelementptr inbounds { ptr, i64 }, ptr %103, i32 0, i32 1
  %551 = load i64, ptr %550, align 8
  call void @_ZN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEC2ESt16initializer_listIS3_E(ptr noundef nonnull align 8 dereferenceable(168) %513, ptr %549, i64 %551)
  %552 = getelementptr inbounds %"struct.stim::Gate", ptr %102, i32 0, i32 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %114) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %114, ptr align 8 @constinit.44, i64 32, i1 false), !tbaa.struct !22
  %553 = getelementptr inbounds %"class.std::initializer_list.7", ptr %113, i32 0, i32 0
  store ptr %114, ptr %553, align 8, !tbaa !30
  %554 = getelementptr inbounds %"class.std::initializer_list.7", ptr %113, i32 0, i32 1
  store i64 4, ptr %554, align 8, !tbaa !32
  %555 = getelementptr inbounds { ptr, i64 }, ptr %113, i32 0, i32 0
  %556 = load ptr, ptr %555, align 8
  %557 = getelementptr inbounds { ptr, i64 }, ptr %113, i32 0, i32 1
  %558 = load i64, ptr %557, align 8
  call void @_ZN4stim14FixedCapVectorIPKcLm10EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(88) %552, ptr %556, i64 %558)
  %559 = getelementptr inbounds %"struct.stim::Gate", ptr %102, i32 0, i32 9
  store ptr @.str.45, ptr %559, align 8, !tbaa !33
  call void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528) %154, ptr noundef nonnull align 1 dereferenceable(1) %505, ptr noundef nonnull align 8 dereferenceable(320) %102)
  call void @llvm.lifetime.end.p0(i64 32, ptr %114) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %112) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %108) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %106) #8
  call void @llvm.lifetime.end.p0(i64 160, ptr %104) #8
  call void @llvm.lifetime.end.p0(i64 320, ptr %102) #8
  %560 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 320, ptr %115) #8
  %561 = getelementptr inbounds %"struct.stim::Gate", ptr %115, i32 0, i32 0
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %561, ptr noundef @.str.46) #8
  %562 = getelementptr inbounds %"struct.stim::Gate", ptr %115, i32 0, i32 1
  store i8 23, ptr %562, align 8, !tbaa !9
  %563 = getelementptr inbounds %"struct.stim::Gate", ptr %115, i32 0, i32 2
  store i8 23, ptr %563, align 1, !tbaa !19
  %564 = getelementptr inbounds %"struct.stim::Gate", ptr %115, i32 0, i32 3
  store i8 0, ptr %564, align 2, !tbaa !20
  %565 = getelementptr inbounds %"struct.stim::Gate", ptr %115, i32 0, i32 4
  store i16 577, ptr %565, align 4, !tbaa !21
  %566 = getelementptr inbounds %"struct.stim::Gate", ptr %115, i32 0, i32 5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %566, ptr noundef @.str.1) #8
  %567 = getelementptr inbounds %"struct.stim::Gate", ptr %115, i32 0, i32 6
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %567, ptr noundef @.str.47) #8
  %568 = getelementptr inbounds %"struct.stim::Gate", ptr %115, i32 0, i32 7
  call void @llvm.lifetime.start.p0(i64 160, ptr %117) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %119) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %119, ptr align 4 @constinit.48, i64 32, i1 false), !tbaa.struct !22
  %569 = getelementptr inbounds %"class.std::initializer_list.6", ptr %118, i32 0, i32 0
  store ptr %119, ptr %569, align 8, !tbaa !24
  %570 = getelementptr inbounds %"class.std::initializer_list.6", ptr %118, i32 0, i32 1
  store i64 4, ptr %570, align 8, !tbaa !26
  %571 = getelementptr inbounds { ptr, i64 }, ptr %118, i32 0, i32 0
  %572 = load ptr, ptr %571, align 8
  %573 = getelementptr inbounds { ptr, i64 }, ptr %118, i32 0, i32 1
  %574 = load i64, ptr %573, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %117, ptr %572, i64 %574)
  %575 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %117, i64 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %121) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %121, ptr align 4 @constinit.49, i64 32, i1 false), !tbaa.struct !22
  %576 = getelementptr inbounds %"class.std::initializer_list.6", ptr %120, i32 0, i32 0
  store ptr %121, ptr %576, align 8, !tbaa !24
  %577 = getelementptr inbounds %"class.std::initializer_list.6", ptr %120, i32 0, i32 1
  store i64 4, ptr %577, align 8, !tbaa !26
  %578 = getelementptr inbounds { ptr, i64 }, ptr %120, i32 0, i32 0
  %579 = load ptr, ptr %578, align 8
  %580 = getelementptr inbounds { ptr, i64 }, ptr %120, i32 0, i32 1
  %581 = load i64, ptr %580, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %575, ptr %579, i64 %581)
  %582 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %117, i64 2
  call void @llvm.lifetime.start.p0(i64 32, ptr %123) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %123, ptr align 4 @constinit.50, i64 32, i1 false), !tbaa.struct !22
  %583 = getelementptr inbounds %"class.std::initializer_list.6", ptr %122, i32 0, i32 0
  store ptr %123, ptr %583, align 8, !tbaa !24
  %584 = getelementptr inbounds %"class.std::initializer_list.6", ptr %122, i32 0, i32 1
  store i64 4, ptr %584, align 8, !tbaa !26
  %585 = getelementptr inbounds { ptr, i64 }, ptr %122, i32 0, i32 0
  %586 = load ptr, ptr %585, align 8
  %587 = getelementptr inbounds { ptr, i64 }, ptr %122, i32 0, i32 1
  %588 = load i64, ptr %587, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %582, ptr %586, i64 %588)
  %589 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %117, i64 3
  call void @llvm.lifetime.start.p0(i64 32, ptr %125) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %125, ptr align 4 @constinit.51, i64 32, i1 false), !tbaa.struct !22
  %590 = getelementptr inbounds %"class.std::initializer_list.6", ptr %124, i32 0, i32 0
  store ptr %125, ptr %590, align 8, !tbaa !24
  %591 = getelementptr inbounds %"class.std::initializer_list.6", ptr %124, i32 0, i32 1
  store i64 4, ptr %591, align 8, !tbaa !26
  %592 = getelementptr inbounds { ptr, i64 }, ptr %124, i32 0, i32 0
  %593 = load ptr, ptr %592, align 8
  %594 = getelementptr inbounds { ptr, i64 }, ptr %124, i32 0, i32 1
  %595 = load i64, ptr %594, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %589, ptr %593, i64 %595)
  %596 = getelementptr inbounds %"class.std::initializer_list", ptr %116, i32 0, i32 0
  store ptr %117, ptr %596, align 8, !tbaa !27
  %597 = getelementptr inbounds %"class.std::initializer_list", ptr %116, i32 0, i32 1
  store i64 4, ptr %597, align 8, !tbaa !29
  %598 = getelementptr inbounds { ptr, i64 }, ptr %116, i32 0, i32 0
  %599 = load ptr, ptr %598, align 8
  %600 = getelementptr inbounds { ptr, i64 }, ptr %116, i32 0, i32 1
  %601 = load i64, ptr %600, align 8
  call void @_ZN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEC2ESt16initializer_listIS3_E(ptr noundef nonnull align 8 dereferenceable(168) %568, ptr %599, i64 %601)
  %602 = getelementptr inbounds %"struct.stim::Gate", ptr %115, i32 0, i32 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %127) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %127, ptr align 8 @constinit.53, i64 32, i1 false), !tbaa.struct !22
  %603 = getelementptr inbounds %"class.std::initializer_list.7", ptr %126, i32 0, i32 0
  store ptr %127, ptr %603, align 8, !tbaa !30
  %604 = getelementptr inbounds %"class.std::initializer_list.7", ptr %126, i32 0, i32 1
  store i64 4, ptr %604, align 8, !tbaa !32
  %605 = getelementptr inbounds { ptr, i64 }, ptr %126, i32 0, i32 0
  %606 = load ptr, ptr %605, align 8
  %607 = getelementptr inbounds { ptr, i64 }, ptr %126, i32 0, i32 1
  %608 = load i64, ptr %607, align 8
  call void @_ZN4stim14FixedCapVectorIPKcLm10EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(88) %602, ptr %606, i64 %608)
  %609 = getelementptr inbounds %"struct.stim::Gate", ptr %115, i32 0, i32 9
  store ptr @.str.54, ptr %609, align 8, !tbaa !33
  call void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528) %154, ptr noundef nonnull align 1 dereferenceable(1) %560, ptr noundef nonnull align 8 dereferenceable(320) %115)
  call void @llvm.lifetime.end.p0(i64 32, ptr %127) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %121) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %119) #8
  call void @llvm.lifetime.end.p0(i64 160, ptr %117) #8
  call void @llvm.lifetime.end.p0(i64 320, ptr %115) #8
  %610 = load ptr, ptr %4, align 8, !tbaa !5
  call void @_ZN4stim11GateDataMap14add_gate_aliasERbPKcS3_(ptr noundef nonnull align 8 dereferenceable(38528) %154, ptr noundef nonnull align 1 dereferenceable(1) %610, ptr noundef @.str.55, ptr noundef @.str.46)
  %611 = load ptr, ptr %4, align 8, !tbaa !5
  call void @_ZN4stim11GateDataMap14add_gate_aliasERbPKcS3_(ptr noundef nonnull align 8 dereferenceable(38528) %154, ptr noundef nonnull align 1 dereferenceable(1) %611, ptr noundef @.str.56, ptr noundef @.str.46)
  %612 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 320, ptr %128) #8
  %613 = getelementptr inbounds %"struct.stim::Gate", ptr %128, i32 0, i32 0
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %613, ptr noundef @.str.57) #8
  %614 = getelementptr inbounds %"struct.stim::Gate", ptr %128, i32 0, i32 1
  store i8 24, ptr %614, align 8, !tbaa !9
  %615 = getelementptr inbounds %"struct.stim::Gate", ptr %128, i32 0, i32 2
  store i8 24, ptr %615, align 1, !tbaa !19
  %616 = getelementptr inbounds %"struct.stim::Gate", ptr %128, i32 0, i32 3
  store i8 0, ptr %616, align 2, !tbaa !20
  %617 = getelementptr inbounds %"struct.stim::Gate", ptr %128, i32 0, i32 4
  store i16 577, ptr %617, align 4, !tbaa !21
  %618 = getelementptr inbounds %"struct.stim::Gate", ptr %128, i32 0, i32 5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %618, ptr noundef @.str.1) #8
  %619 = getelementptr inbounds %"struct.stim::Gate", ptr %128, i32 0, i32 6
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %619, ptr noundef @.str.58) #8
  %620 = getelementptr inbounds %"struct.stim::Gate", ptr %128, i32 0, i32 7
  call void @llvm.lifetime.start.p0(i64 160, ptr %130) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %132) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %132, ptr align 4 @constinit.59, i64 32, i1 false), !tbaa.struct !22
  %621 = getelementptr inbounds %"class.std::initializer_list.6", ptr %131, i32 0, i32 0
  store ptr %132, ptr %621, align 8, !tbaa !24
  %622 = getelementptr inbounds %"class.std::initializer_list.6", ptr %131, i32 0, i32 1
  store i64 4, ptr %622, align 8, !tbaa !26
  %623 = getelementptr inbounds { ptr, i64 }, ptr %131, i32 0, i32 0
  %624 = load ptr, ptr %623, align 8
  %625 = getelementptr inbounds { ptr, i64 }, ptr %131, i32 0, i32 1
  %626 = load i64, ptr %625, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %130, ptr %624, i64 %626)
  %627 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %130, i64 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %134) #8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %134, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %628 = getelementptr inbounds %"class.std::complex", ptr %134, i64 1
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %628, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %629 = getelementptr inbounds %"class.std::complex", ptr %134, i64 2
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %629, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %630 = getelementptr inbounds %"class.std::complex", ptr %134, i64 3
  %631 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  %632 = getelementptr inbounds %"class.std::complex", ptr %630, i32 0, i32 0
  store <2 x float> %631, ptr %632, align 4
  %633 = getelementptr inbounds %"class.std::initializer_list.6", ptr %133, i32 0, i32 0
  store ptr %134, ptr %633, align 8, !tbaa !24
  %634 = getelementptr inbounds %"class.std::initializer_list.6", ptr %133, i32 0, i32 1
  store i64 4, ptr %634, align 8, !tbaa !26
  %635 = getelementptr inbounds { ptr, i64 }, ptr %133, i32 0, i32 0
  %636 = load ptr, ptr %635, align 8
  %637 = getelementptr inbounds { ptr, i64 }, ptr %133, i32 0, i32 1
  %638 = load i64, ptr %637, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %627, ptr %636, i64 %638)
  %639 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %130, i64 2
  call void @llvm.lifetime.start.p0(i64 32, ptr %136) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %136, ptr align 4 @constinit.60, i64 32, i1 false), !tbaa.struct !22
  %640 = getelementptr inbounds %"class.std::initializer_list.6", ptr %135, i32 0, i32 0
  store ptr %136, ptr %640, align 8, !tbaa !24
  %641 = getelementptr inbounds %"class.std::initializer_list.6", ptr %135, i32 0, i32 1
  store i64 4, ptr %641, align 8, !tbaa !26
  %642 = getelementptr inbounds { ptr, i64 }, ptr %135, i32 0, i32 0
  %643 = load ptr, ptr %642, align 8
  %644 = getelementptr inbounds { ptr, i64 }, ptr %135, i32 0, i32 1
  %645 = load i64, ptr %644, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %639, ptr %643, i64 %645)
  %646 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %130, i64 3
  call void @llvm.lifetime.start.p0(i64 32, ptr %138) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %138, ptr align 4 @constinit.61, i64 32, i1 false), !tbaa.struct !22
  %647 = getelementptr inbounds %"class.std::initializer_list.6", ptr %137, i32 0, i32 0
  store ptr %138, ptr %647, align 8, !tbaa !24
  %648 = getelementptr inbounds %"class.std::initializer_list.6", ptr %137, i32 0, i32 1
  store i64 4, ptr %648, align 8, !tbaa !26
  %649 = getelementptr inbounds { ptr, i64 }, ptr %137, i32 0, i32 0
  %650 = load ptr, ptr %649, align 8
  %651 = getelementptr inbounds { ptr, i64 }, ptr %137, i32 0, i32 1
  %652 = load i64, ptr %651, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %646, ptr %650, i64 %652)
  %653 = getelementptr inbounds %"class.std::initializer_list", ptr %129, i32 0, i32 0
  store ptr %130, ptr %653, align 8, !tbaa !27
  %654 = getelementptr inbounds %"class.std::initializer_list", ptr %129, i32 0, i32 1
  store i64 4, ptr %654, align 8, !tbaa !29
  %655 = getelementptr inbounds { ptr, i64 }, ptr %129, i32 0, i32 0
  %656 = load ptr, ptr %655, align 8
  %657 = getelementptr inbounds { ptr, i64 }, ptr %129, i32 0, i32 1
  %658 = load i64, ptr %657, align 8
  call void @_ZN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEC2ESt16initializer_listIS3_E(ptr noundef nonnull align 8 dereferenceable(168) %620, ptr %656, i64 %658)
  %659 = getelementptr inbounds %"struct.stim::Gate", ptr %128, i32 0, i32 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %140) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %140, ptr align 8 @constinit.62, i64 32, i1 false), !tbaa.struct !22
  %660 = getelementptr inbounds %"class.std::initializer_list.7", ptr %139, i32 0, i32 0
  store ptr %140, ptr %660, align 8, !tbaa !30
  %661 = getelementptr inbounds %"class.std::initializer_list.7", ptr %139, i32 0, i32 1
  store i64 4, ptr %661, align 8, !tbaa !32
  %662 = getelementptr inbounds { ptr, i64 }, ptr %139, i32 0, i32 0
  %663 = load ptr, ptr %662, align 8
  %664 = getelementptr inbounds { ptr, i64 }, ptr %139, i32 0, i32 1
  %665 = load i64, ptr %664, align 8
  call void @_ZN4stim14FixedCapVectorIPKcLm10EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(88) %659, ptr %663, i64 %665)
  %666 = getelementptr inbounds %"struct.stim::Gate", ptr %128, i32 0, i32 9
  store ptr @.str.63, ptr %666, align 8, !tbaa !33
  call void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528) %154, ptr noundef nonnull align 1 dereferenceable(1) %612, ptr noundef nonnull align 8 dereferenceable(320) %128)
  call void @llvm.lifetime.end.p0(i64 32, ptr %140) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %138) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %136) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #8
  call void @llvm.lifetime.end.p0(i64 160, ptr %130) #8
  call void @llvm.lifetime.end.p0(i64 320, ptr %128) #8
  %667 = load ptr, ptr %4, align 8, !tbaa !5
  call void @_ZN4stim11GateDataMap14add_gate_aliasERbPKcS3_(ptr noundef nonnull align 8 dereferenceable(38528) %154, ptr noundef nonnull align 1 dereferenceable(1) %667, ptr noundef @.str.64, ptr noundef @.str.57)
  %668 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 320, ptr %141) #8
  %669 = getelementptr inbounds %"struct.stim::Gate", ptr %141, i32 0, i32 0
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %669, ptr noundef @.str.65) #8
  %670 = getelementptr inbounds %"struct.stim::Gate", ptr %141, i32 0, i32 1
  store i8 25, ptr %670, align 8, !tbaa !9
  %671 = getelementptr inbounds %"struct.stim::Gate", ptr %141, i32 0, i32 2
  store i8 25, ptr %671, align 1, !tbaa !19
  %672 = getelementptr inbounds %"struct.stim::Gate", ptr %141, i32 0, i32 3
  store i8 0, ptr %672, align 2, !tbaa !20
  %673 = getelementptr inbounds %"struct.stim::Gate", ptr %141, i32 0, i32 4
  store i16 577, ptr %673, align 4, !tbaa !21
  %674 = getelementptr inbounds %"struct.stim::Gate", ptr %141, i32 0, i32 5
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %674, ptr noundef @.str.1) #8
  %675 = getelementptr inbounds %"struct.stim::Gate", ptr %141, i32 0, i32 6
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %675, ptr noundef @.str.66) #8
  %676 = getelementptr inbounds %"struct.stim::Gate", ptr %141, i32 0, i32 7
  call void @llvm.lifetime.start.p0(i64 160, ptr %143) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %145) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %145, ptr align 4 @constinit.67, i64 32, i1 false), !tbaa.struct !22
  %677 = getelementptr inbounds %"class.std::initializer_list.6", ptr %144, i32 0, i32 0
  store ptr %145, ptr %677, align 8, !tbaa !24
  %678 = getelementptr inbounds %"class.std::initializer_list.6", ptr %144, i32 0, i32 1
  store i64 4, ptr %678, align 8, !tbaa !26
  %679 = getelementptr inbounds { ptr, i64 }, ptr %144, i32 0, i32 0
  %680 = load ptr, ptr %679, align 8
  %681 = getelementptr inbounds { ptr, i64 }, ptr %144, i32 0, i32 1
  %682 = load i64, ptr %681, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %143, ptr %680, i64 %682)
  %683 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %143, i64 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %147) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %147, ptr align 4 @constinit.68, i64 32, i1 false), !tbaa.struct !22
  %684 = getelementptr inbounds %"class.std::initializer_list.6", ptr %146, i32 0, i32 0
  store ptr %147, ptr %684, align 8, !tbaa !24
  %685 = getelementptr inbounds %"class.std::initializer_list.6", ptr %146, i32 0, i32 1
  store i64 4, ptr %685, align 8, !tbaa !26
  %686 = getelementptr inbounds { ptr, i64 }, ptr %146, i32 0, i32 0
  %687 = load ptr, ptr %686, align 8
  %688 = getelementptr inbounds { ptr, i64 }, ptr %146, i32 0, i32 1
  %689 = load i64, ptr %688, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %683, ptr %687, i64 %689)
  %690 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %143, i64 2
  call void @llvm.lifetime.start.p0(i64 32, ptr %149) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %149, ptr align 4 @constinit.69, i64 32, i1 false), !tbaa.struct !22
  %691 = getelementptr inbounds %"class.std::initializer_list.6", ptr %148, i32 0, i32 0
  store ptr %149, ptr %691, align 8, !tbaa !24
  %692 = getelementptr inbounds %"class.std::initializer_list.6", ptr %148, i32 0, i32 1
  store i64 4, ptr %692, align 8, !tbaa !26
  %693 = getelementptr inbounds { ptr, i64 }, ptr %148, i32 0, i32 0
  %694 = load ptr, ptr %693, align 8
  %695 = getelementptr inbounds { ptr, i64 }, ptr %148, i32 0, i32 1
  %696 = load i64, ptr %695, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %690, ptr %694, i64 %696)
  %697 = getelementptr inbounds %"class.stim::FixedCapVector.2", ptr %143, i64 3
  call void @llvm.lifetime.start.p0(i64 32, ptr %151) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %151, ptr align 4 @constinit.70, i64 32, i1 false), !tbaa.struct !22
  %698 = getelementptr inbounds %"class.std::initializer_list.6", ptr %150, i32 0, i32 0
  store ptr %151, ptr %698, align 8, !tbaa !24
  %699 = getelementptr inbounds %"class.std::initializer_list.6", ptr %150, i32 0, i32 1
  store i64 4, ptr %699, align 8, !tbaa !26
  %700 = getelementptr inbounds { ptr, i64 }, ptr %150, i32 0, i32 0
  %701 = load ptr, ptr %700, align 8
  %702 = getelementptr inbounds { ptr, i64 }, ptr %150, i32 0, i32 1
  %703 = load i64, ptr %702, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %697, ptr %701, i64 %703)
  %704 = getelementptr inbounds %"class.std::initializer_list", ptr %142, i32 0, i32 0
  store ptr %143, ptr %704, align 8, !tbaa !27
  %705 = getelementptr inbounds %"class.std::initializer_list", ptr %142, i32 0, i32 1
  store i64 4, ptr %705, align 8, !tbaa !29
  %706 = getelementptr inbounds { ptr, i64 }, ptr %142, i32 0, i32 0
  %707 = load ptr, ptr %706, align 8
  %708 = getelementptr inbounds { ptr, i64 }, ptr %142, i32 0, i32 1
  %709 = load i64, ptr %708, align 8
  call void @_ZN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEC2ESt16initializer_listIS3_E(ptr noundef nonnull align 8 dereferenceable(168) %676, ptr %707, i64 %709)
  %710 = getelementptr inbounds %"struct.stim::Gate", ptr %141, i32 0, i32 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %153) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %153, ptr align 8 @constinit.71, i64 32, i1 false), !tbaa.struct !22
  %711 = getelementptr inbounds %"class.std::initializer_list.7", ptr %152, i32 0, i32 0
  store ptr %153, ptr %711, align 8, !tbaa !30
  %712 = getelementptr inbounds %"class.std::initializer_list.7", ptr %152, i32 0, i32 1
  store i64 4, ptr %712, align 8, !tbaa !32
  %713 = getelementptr inbounds { ptr, i64 }, ptr %152, i32 0, i32 0
  %714 = load ptr, ptr %713, align 8
  %715 = getelementptr inbounds { ptr, i64 }, ptr %152, i32 0, i32 1
  %716 = load i64, ptr %715, align 8
  call void @_ZN4stim14FixedCapVectorIPKcLm10EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(88) %710, ptr %714, i64 %716)
  %717 = getelementptr inbounds %"struct.stim::Gate", ptr %141, i32 0, i32 9
  store ptr @.str.72, ptr %717, align 8, !tbaa !33
  call void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528) %154, ptr noundef nonnull align 1 dereferenceable(1) %668, ptr noundef nonnull align 8 dereferenceable(320) %141)
  call void @llvm.lifetime.end.p0(i64 32, ptr %153) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %151) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %149) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %147) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %145) #8
  call void @llvm.lifetime.end.p0(i64 160, ptr %143) #8
  call void @llvm.lifetime.end.p0(i64 320, ptr %141) #8
  %718 = load ptr, ptr %4, align 8, !tbaa !5
  call void @_ZN4stim11GateDataMap14add_gate_aliasERbPKcS3_(ptr noundef nonnull align 8 dereferenceable(38528) %154, ptr noundef nonnull align 1 dereferenceable(1) %718, ptr noundef @.str.73, ptr noundef @.str.65)
  ret void
}

declare void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528), ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 8 dereferenceable(320)) #1

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

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #4

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local <2 x float> @_ZStmlIfESt7complexIT_ERKS1_RKS2_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(8)) #6

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(4)) #7

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8)) #6

declare void @_ZN4stim11GateDataMap14add_gate_aliasERbPKcS3_(ptr noundef nonnull align 8 dereferenceable(38528), ptr noundef nonnull align 1 dereferenceable(1), ptr noundef, ptr noundef) #1

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !13, i64 16}
!10 = !{!"_ZTSN4stim4GateE", !11, i64 0, !13, i64 16, !13, i64 17, !7, i64 18, !14, i64 20, !11, i64 24, !11, i64 40, !15, i64 56, !17, i64 224, !6, i64 312}
!11 = !{!"_ZTSSt17basic_string_viewIcSt11char_traitsIcEE", !12, i64 0, !6, i64 8}
!12 = !{!"long", !7, i64 0}
!13 = !{!"_ZTSN4stim8GateTypeE", !7, i64 0}
!14 = !{!"_ZTSN4stim9GateFlagsE", !7, i64 0}
!15 = !{!"_ZTSN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEE", !16, i64 0, !12, i64 160}
!16 = !{!"_ZTSSt5arrayIN4stim14FixedCapVectorISt7complexIfELm4EEELm4EE", !7, i64 0}
!17 = !{!"_ZTSN4stim14FixedCapVectorIPKcLm10EEE", !18, i64 0, !12, i64 80}
!18 = !{!"_ZTSSt5arrayIPKcLm10EE", !7, i64 0}
!19 = !{!10, !13, i64 17}
!20 = !{!10, !7, i64 18}
!21 = !{!10, !14, i64 20}
!22 = !{i64 0, i64 32, !23}
!23 = !{!7, !7, i64 0}
!24 = !{!25, !6, i64 0}
!25 = !{!"_ZTSSt16initializer_listISt7complexIfEE", !6, i64 0, !12, i64 8}
!26 = !{!25, !12, i64 8}
!27 = !{!28, !6, i64 0}
!28 = !{!"_ZTSSt16initializer_listIN4stim14FixedCapVectorISt7complexIfELm4EEEE", !6, i64 0, !12, i64 8}
!29 = !{!28, !12, i64 8}
!30 = !{!31, !6, i64 0}
!31 = !{!"_ZTSSt16initializer_listIPKcE", !6, i64 0, !12, i64 8}
!32 = !{!31, !12, i64 8}
!33 = !{!10, !6, i64 312}
!34 = !{!35, !35, i64 0}
!35 = !{!"float", !7, i64 0}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.std::complex" = type { { float, float } }
%"struct.stim::Gate" = type { %"class.std::basic_string_view", i8, i8, i8, i16, %"class.std::basic_string_view", %"class.std::basic_string_view", %"class.stim::FixedCapVector", %"class.stim::FixedCapVector.4", ptr }
%"class.std::basic_string_view" = type { i64, ptr }
%"class.stim::FixedCapVector" = type { %"struct.std::array.1", i64 }
%"struct.std::array.1" = type { [4 x %"class.stim::FixedCapVector.2"] }
%"class.stim::FixedCapVector.2" = type { %"struct.std::array.3", i64 }
%"struct.std::array.3" = type { [4 x %"class.std::complex"] }
%"class.stim::FixedCapVector.4" = type { %"struct.std::array.5", i64 }
%"struct.std::array.5" = type { [10 x ptr] }

@.str = external hidden unnamed_addr constant [4 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [306 x i8], align 1
@constinit = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.3 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.4 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.5 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.10 = external hidden local_unnamed_addr constant [4 x ptr], align 8
@.str.11 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [306 x i8], align 1
@_ZL1i = external hidden constant %"class.std::complex", align 4
@constinit.16 = external hidden local_unnamed_addr constant [4 x ptr], align 8
@.str.17 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [900 x i8], align 1
@constinit.20 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.21 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.22 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.23 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.26 = external hidden local_unnamed_addr constant [4 x ptr], align 8
@.str.27 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [308 x i8], align 1
@constinit.31 = external hidden local_unnamed_addr constant [4 x ptr], align 8
@.str.32 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [308 x i8], align 1
@constinit.37 = external hidden local_unnamed_addr constant [4 x ptr], align 8
@.str.38 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [915 x i8], align 1
@constinit.41 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.42 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.43 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.44 = external hidden local_unnamed_addr constant [4 x ptr], align 8
@.str.45 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [852 x i8], align 1
@constinit.48 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.49 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.50 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.51 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.53 = external hidden local_unnamed_addr constant [4 x ptr], align 8
@.str.54 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [851 x i8], align 1
@constinit.59 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.60 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.61 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.62 = external hidden local_unnamed_addr constant [4 x ptr], align 8
@.str.63 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [954 x i8], align 1
@constinit.67 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.68 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.69 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.70 = external hidden local_unnamed_addr constant [4 x %"class.std::complex"], align 4
@constinit.71 = external hidden local_unnamed_addr constant [4 x ptr], align 8
@.str.72 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [4 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4stim11GateDataMap24add_gate_data_controlledERb(ptr noundef nonnull align 8 dereferenceable(38528) %0, ptr noundef nonnull align 1 dereferenceable(1) %1) local_unnamed_addr #0 align 2 {
  %3 = alloca %"struct.stim::Gate", align 8
  %4 = alloca [4 x %"class.stim::FixedCapVector.2"], align 8
  %5 = alloca [4 x %"class.std::complex"], align 4
  %6 = alloca [4 x %"class.std::complex"], align 4
  %7 = alloca [4 x %"class.std::complex"], align 4
  %8 = alloca [4 x %"class.std::complex"], align 4
  %9 = alloca [4 x ptr], align 8
  %10 = alloca %"struct.stim::Gate", align 8
  %11 = alloca [4 x %"class.stim::FixedCapVector.2"], align 8
  %12 = alloca [4 x %"class.std::complex"], align 4
  %13 = alloca float, align 4
  %14 = alloca float, align 4
  %15 = alloca [4 x %"class.std::complex"], align 4
  %16 = alloca float, align 4
  %17 = alloca float, align 4
  %18 = alloca [4 x %"class.std::complex"], align 8
  %19 = alloca float, align 4
  %20 = alloca float, align 4
  %21 = alloca [4 x %"class.std::complex"], align 8
  %22 = alloca float, align 4
  %23 = alloca float, align 4
  %24 = alloca [4 x ptr], align 8
  %25 = alloca %"struct.stim::Gate", align 8
  %26 = alloca [4 x %"class.stim::FixedCapVector.2"], align 8
  %27 = alloca [4 x %"class.std::complex"], align 4
  %28 = alloca [4 x %"class.std::complex"], align 4
  %29 = alloca [4 x %"class.std::complex"], align 4
  %30 = alloca [4 x %"class.std::complex"], align 4
  %31 = alloca [4 x ptr], align 8
  %32 = alloca %"struct.stim::Gate", align 8
  %33 = alloca [4 x %"class.stim::FixedCapVector.2"], align 8
  %34 = alloca [4 x %"class.std::complex"], align 4
  %35 = alloca %"class.std::complex", align 8
  %36 = alloca float, align 4
  %37 = alloca float, align 4
  %38 = alloca [4 x %"class.std::complex"], align 8
  %39 = alloca float, align 4
  %40 = alloca %"class.std::complex", align 8
  %41 = alloca float, align 4
  %42 = alloca [4 x %"class.std::complex"], align 4
  %43 = alloca float, align 4
  %44 = alloca %"class.std::complex", align 8
  %45 = alloca float, align 4
  %46 = alloca [4 x %"class.std::complex"], align 8
  %47 = alloca %"class.std::complex", align 8
  %48 = alloca float, align 4
  %49 = alloca float, align 4
  %50 = alloca [4 x ptr], align 8
  %51 = alloca %"struct.stim::Gate", align 8
  %52 = alloca [4 x %"class.stim::FixedCapVector.2"], align 8
  %53 = alloca [4 x %"class.std::complex"], align 4
  %54 = alloca %"class.std::complex", align 8
  %55 = alloca float, align 4
  %56 = alloca %"class.std::complex", align 8
  %57 = alloca float, align 4
  %58 = alloca [4 x %"class.std::complex"], align 8
  %59 = alloca float, align 4
  %60 = alloca %"class.std::complex", align 8
  %61 = alloca float, align 4
  %62 = alloca [4 x %"class.std::complex"], align 8
  %63 = alloca float, align 4
  %64 = alloca %"class.std::complex", align 8
  %65 = alloca float, align 4
  %66 = alloca [4 x %"class.std::complex"], align 4
  %67 = alloca float, align 4
  %68 = alloca float, align 4
  %69 = alloca [4 x ptr], align 8
  %70 = alloca %"struct.stim::Gate", align 8
  %71 = alloca [4 x %"class.stim::FixedCapVector.2"], align 8
  %72 = alloca [4 x %"class.std::complex"], align 4
  %73 = alloca [4 x %"class.std::complex"], align 4
  %74 = alloca [4 x %"class.std::complex"], align 4
  %75 = alloca [4 x %"class.std::complex"], align 4
  %76 = alloca [4 x ptr], align 8
  %77 = alloca %"struct.stim::Gate", align 8
  %78 = alloca [4 x %"class.stim::FixedCapVector.2"], align 8
  %79 = alloca [4 x %"class.std::complex"], align 4
  %80 = alloca [4 x %"class.std::complex"], align 4
  %81 = alloca [4 x %"class.std::complex"], align 4
  %82 = alloca [4 x %"class.std::complex"], align 4
  %83 = alloca [4 x ptr], align 8
  %84 = alloca %"struct.stim::Gate", align 8
  %85 = alloca [4 x %"class.stim::FixedCapVector.2"], align 8
  %86 = alloca [4 x %"class.std::complex"], align 4
  %87 = alloca [4 x %"class.std::complex"], align 4
  %88 = alloca [4 x %"class.std::complex"], align 4
  %89 = alloca [4 x %"class.std::complex"], align 4
  %90 = alloca [4 x ptr], align 8
  %91 = alloca %"struct.stim::Gate", align 8
  %92 = alloca [4 x %"class.stim::FixedCapVector.2"], align 8
  %93 = alloca [4 x %"class.std::complex"], align 4
  %94 = alloca [4 x %"class.std::complex"], align 4
  %95 = alloca [4 x %"class.std::complex"], align 4
  %96 = alloca [4 x %"class.std::complex"], align 4
  %97 = alloca [4 x ptr], align 8
  call void @llvm.lifetime.start.p0(i64 320, ptr nonnull %3) #8
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef @.str) #8
  %98 = getelementptr inbounds i8, ptr %3, i64 16
  store i8 17, ptr %98, align 8, !tbaa !5
  %99 = getelementptr inbounds i8, ptr %3, i64 17
  store i8 17, ptr %99, align 1, !tbaa !18
  %100 = getelementptr inbounds i8, ptr %3, i64 18
  store i8 0, ptr %100, align 2, !tbaa !19
  %101 = getelementptr inbounds i8, ptr %3, i64 20
  store i16 65, ptr %101, align 4, !tbaa !20
  %102 = getelementptr inbounds i8, ptr %3, i64 24
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %102, ptr noundef @.str.1) #8
  %103 = getelementptr inbounds i8, ptr %3, i64 40
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %103, ptr noundef @.str.2) #8
  %104 = getelementptr inbounds i8, ptr %3, i64 56
  call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %4) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %5, ptr noundef nonnull align 4 dereferenceable(32) @constinit, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %4, ptr nonnull %5, i64 4)
  %105 = getelementptr inbounds i8, ptr %4, i64 40
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %6, ptr noundef nonnull align 4 dereferenceable(32) @constinit.3, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %105, ptr nonnull %6, i64 4)
  %106 = getelementptr inbounds i8, ptr %4, i64 80
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %7, ptr noundef nonnull align 4 dereferenceable(32) @constinit.4, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %106, ptr nonnull %7, i64 4)
  %107 = getelementptr inbounds i8, ptr %4, i64 120
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %8, ptr noundef nonnull align 4 dereferenceable(32) @constinit.5, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %107, ptr nonnull %8, i64 4)
  call void @_ZN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEC2ESt16initializer_listIS3_E(ptr noundef nonnull align 8 dereferenceable(168) %104, ptr nonnull %4, i64 4)
  %108 = getelementptr inbounds i8, ptr %3, i64 224
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) @constinit.10, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorIPKcLm10EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(88) %108, ptr nonnull %9, i64 4)
  %109 = getelementptr inbounds i8, ptr %3, i64 312
  store ptr @.str.11, ptr %109, align 8, !tbaa !23
  call void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528) %0, ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull align 8 dereferenceable(320) %3)
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #8
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %4) #8
  call void @llvm.lifetime.end.p0(i64 320, ptr nonnull %3) #8
  call void @llvm.lifetime.start.p0(i64 320, ptr nonnull %10) #8
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef @.str.12) #8
  %110 = getelementptr inbounds i8, ptr %10, i64 16
  store i8 18, ptr %110, align 8, !tbaa !5
  %111 = getelementptr inbounds i8, ptr %10, i64 17
  store i8 18, ptr %111, align 1, !tbaa !18
  %112 = getelementptr inbounds i8, ptr %10, i64 18
  store i8 0, ptr %112, align 2, !tbaa !19
  %113 = getelementptr inbounds i8, ptr %10, i64 20
  store i16 65, ptr %113, align 4, !tbaa !20
  %114 = getelementptr inbounds i8, ptr %10, i64 24
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %114, ptr noundef @.str.1) #8
  %115 = getelementptr inbounds i8, ptr %10, i64 40
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %115, ptr noundef @.str.13) #8
  %116 = getelementptr inbounds i8, ptr %10, i64 56
  call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %11) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %12, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %117 = getelementptr inbounds i8, ptr %12, i64 8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %117, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %118 = getelementptr inbounds i8, ptr %12, i64 16
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #8
  store float -5.000000e-01, ptr %13, align 4, !tbaa !24
  %119 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS1_RKS2_(ptr noundef nonnull align 4 dereferenceable(4) %13, ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  store <2 x float> %119, ptr %118, align 4
  %120 = getelementptr inbounds i8, ptr %12, i64 24
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %14) #8
  store float 5.000000e-01, ptr %14, align 4, !tbaa !24
  %121 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS1_RKS2_(ptr noundef nonnull align 4 dereferenceable(4) %14, ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  store <2 x float> %121, ptr %120, align 4
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %11, ptr nonnull %12, i64 4)
  %122 = getelementptr inbounds i8, ptr %11, i64 40
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %15, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %123 = getelementptr inbounds i8, ptr %15, i64 8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %123, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %124 = getelementptr inbounds i8, ptr %15, i64 16
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #8
  store float 5.000000e-01, ptr %16, align 4, !tbaa !24
  %125 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS1_RKS2_(ptr noundef nonnull align 4 dereferenceable(4) %16, ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  store <2 x float> %125, ptr %124, align 4
  %126 = getelementptr inbounds i8, ptr %15, i64 24
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %17) #8
  store float -5.000000e-01, ptr %17, align 4, !tbaa !24
  %127 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS1_RKS2_(ptr noundef nonnull align 4 dereferenceable(4) %17, ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  store <2 x float> %127, ptr %126, align 4
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %122, ptr nonnull %15, i64 4)
  %128 = getelementptr inbounds i8, ptr %11, i64 80
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #8
  store float 5.000000e-01, ptr %19, align 4, !tbaa !24
  %129 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS1_RKS2_(ptr noundef nonnull align 4 dereferenceable(4) %19, ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  store <2 x float> %129, ptr %18, align 8
  %130 = getelementptr inbounds i8, ptr %18, i64 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #8
  store float -5.000000e-01, ptr %20, align 4, !tbaa !24
  %131 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS1_RKS2_(ptr noundef nonnull align 4 dereferenceable(4) %20, ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  store <2 x float> %131, ptr %130, align 8
  %132 = getelementptr inbounds i8, ptr %18, i64 16
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %132, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %133 = getelementptr inbounds i8, ptr %18, i64 24
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %133, float noundef 5.000000e-01, float noundef 0.000000e+00)
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %128, ptr nonnull %18, i64 4)
  %134 = getelementptr inbounds i8, ptr %11, i64 120
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #8
  store float -5.000000e-01, ptr %22, align 4, !tbaa !24
  %135 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS1_RKS2_(ptr noundef nonnull align 4 dereferenceable(4) %22, ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  store <2 x float> %135, ptr %21, align 8
  %136 = getelementptr inbounds i8, ptr %21, i64 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #8
  store float 5.000000e-01, ptr %23, align 4, !tbaa !24
  %137 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS1_RKS2_(ptr noundef nonnull align 4 dereferenceable(4) %23, ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  store <2 x float> %137, ptr %136, align 8
  %138 = getelementptr inbounds i8, ptr %21, i64 16
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %138, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %139 = getelementptr inbounds i8, ptr %21, i64 24
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %139, float noundef 5.000000e-01, float noundef 0.000000e+00)
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %134, ptr nonnull %21, i64 4)
  call void @_ZN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEC2ESt16initializer_listIS3_E(ptr noundef nonnull align 8 dereferenceable(168) %116, ptr nonnull %11, i64 4)
  %140 = getelementptr inbounds i8, ptr %10, i64 224
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(32) @constinit.16, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorIPKcLm10EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(88) %140, ptr nonnull %24, i64 4)
  %141 = getelementptr inbounds i8, ptr %10, i64 312
  store ptr @.str.17, ptr %141, align 8, !tbaa !23
  call void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528) %0, ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull align 8 dereferenceable(320) %10)
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #8
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %11) #8
  call void @llvm.lifetime.end.p0(i64 320, ptr nonnull %10) #8
  call void @llvm.lifetime.start.p0(i64 320, ptr nonnull %25) #8
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %25, ptr noundef @.str.18) #8
  %142 = getelementptr inbounds i8, ptr %25, i64 16
  store i8 19, ptr %142, align 8, !tbaa !5
  %143 = getelementptr inbounds i8, ptr %25, i64 17
  store i8 19, ptr %143, align 1, !tbaa !18
  %144 = getelementptr inbounds i8, ptr %25, i64 18
  store i8 0, ptr %144, align 2, !tbaa !19
  %145 = getelementptr inbounds i8, ptr %25, i64 20
  store i16 577, ptr %145, align 4, !tbaa !20
  %146 = getelementptr inbounds i8, ptr %25, i64 24
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %146, ptr noundef @.str.1) #8
  %147 = getelementptr inbounds i8, ptr %25, i64 40
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %147, ptr noundef @.str.19) #8
  %148 = getelementptr inbounds i8, ptr %25, i64 56
  call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %26) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %27, ptr noundef nonnull align 4 dereferenceable(32) @constinit.20, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %26, ptr nonnull %27, i64 4)
  %149 = getelementptr inbounds i8, ptr %26, i64 40
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %28, ptr noundef nonnull align 4 dereferenceable(32) @constinit.21, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %149, ptr nonnull %28, i64 4)
  %150 = getelementptr inbounds i8, ptr %26, i64 80
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %29, ptr noundef nonnull align 4 dereferenceable(32) @constinit.22, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %150, ptr nonnull %29, i64 4)
  %151 = getelementptr inbounds i8, ptr %26, i64 120
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %30, ptr noundef nonnull align 4 dereferenceable(32) @constinit.23, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %151, ptr nonnull %30, i64 4)
  call void @_ZN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEC2ESt16initializer_listIS3_E(ptr noundef nonnull align 8 dereferenceable(168) %148, ptr nonnull %26, i64 4)
  %152 = getelementptr inbounds i8, ptr %25, i64 224
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull align 8 dereferenceable(32) @constinit.26, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorIPKcLm10EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(88) %152, ptr nonnull %31, i64 4)
  %153 = getelementptr inbounds i8, ptr %25, i64 312
  store ptr @.str.27, ptr %153, align 8, !tbaa !23
  call void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528) %0, ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull align 8 dereferenceable(320) %25)
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #8
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %26) #8
  call void @llvm.lifetime.end.p0(i64 320, ptr nonnull %25) #8
  call void @llvm.lifetime.start.p0(i64 320, ptr nonnull %32) #8
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %32, ptr noundef @.str.28) #8
  %154 = getelementptr inbounds i8, ptr %32, i64 16
  store i8 20, ptr %154, align 8, !tbaa !5
  %155 = getelementptr inbounds i8, ptr %32, i64 17
  store i8 20, ptr %155, align 1, !tbaa !18
  %156 = getelementptr inbounds i8, ptr %32, i64 18
  store i8 0, ptr %156, align 2, !tbaa !19
  %157 = getelementptr inbounds i8, ptr %32, i64 20
  store i16 65, ptr %157, align 4, !tbaa !20
  %158 = getelementptr inbounds i8, ptr %32, i64 24
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %158, ptr noundef @.str.1) #8
  %159 = getelementptr inbounds i8, ptr %32, i64 40
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %159, ptr noundef @.str.29) #8
  %160 = getelementptr inbounds i8, ptr %32, i64 56
  call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %33) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %34, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %161 = getelementptr inbounds i8, ptr %34, i64 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #8
  %162 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  store <2 x float> %162, ptr %35, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %36) #8
  store float 5.000000e-01, ptr %36, align 4, !tbaa !24
  %163 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) %35, ptr noundef nonnull align 4 dereferenceable(4) %36)
  store <2 x float> %163, ptr %161, align 4
  %164 = getelementptr inbounds i8, ptr %34, i64 16
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %164, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %165 = getelementptr inbounds i8, ptr %34, i64 24
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #8
  store float 5.000000e-01, ptr %37, align 4, !tbaa !24
  %166 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i, ptr noundef nonnull align 4 dereferenceable(4) %37)
  store <2 x float> %166, ptr %165, align 4
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %33, ptr nonnull %34, i64 4)
  %167 = getelementptr inbounds i8, ptr %33, i64 40
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %39) #8
  store float 5.000000e-01, ptr %39, align 4, !tbaa !24
  %168 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i, ptr noundef nonnull align 4 dereferenceable(4) %39)
  store <2 x float> %168, ptr %38, align 8
  %169 = getelementptr inbounds i8, ptr %38, i64 8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %169, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %170 = getelementptr inbounds i8, ptr %38, i64 16
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #8
  %171 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  store <2 x float> %171, ptr %40, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %41) #8
  store float 5.000000e-01, ptr %41, align 4, !tbaa !24
  %172 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) %40, ptr noundef nonnull align 4 dereferenceable(4) %41)
  store <2 x float> %172, ptr %170, align 8
  %173 = getelementptr inbounds i8, ptr %38, i64 24
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %173, float noundef 5.000000e-01, float noundef 0.000000e+00)
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %167, ptr nonnull %38, i64 4)
  %174 = getelementptr inbounds i8, ptr %33, i64 80
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %42, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %175 = getelementptr inbounds i8, ptr %42, i64 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #8
  store float 5.000000e-01, ptr %43, align 4, !tbaa !24
  %176 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i, ptr noundef nonnull align 4 dereferenceable(4) %43)
  store <2 x float> %176, ptr %175, align 4
  %177 = getelementptr inbounds i8, ptr %42, i64 16
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %177, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %178 = getelementptr inbounds i8, ptr %42, i64 24
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #8
  %179 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  store <2 x float> %179, ptr %44, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %45) #8
  store float 5.000000e-01, ptr %45, align 4, !tbaa !24
  %180 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) %44, ptr noundef nonnull align 4 dereferenceable(4) %45)
  store <2 x float> %180, ptr %178, align 4
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %174, ptr nonnull %42, i64 4)
  %181 = getelementptr inbounds i8, ptr %33, i64 120
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #8
  %182 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  store <2 x float> %182, ptr %47, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %48) #8
  store float 5.000000e-01, ptr %48, align 4, !tbaa !24
  %183 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) %47, ptr noundef nonnull align 4 dereferenceable(4) %48)
  store <2 x float> %183, ptr %46, align 8
  %184 = getelementptr inbounds i8, ptr %46, i64 8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %184, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %185 = getelementptr inbounds i8, ptr %46, i64 16
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %49) #8
  store float 5.000000e-01, ptr %49, align 4, !tbaa !24
  %186 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i, ptr noundef nonnull align 4 dereferenceable(4) %49)
  store <2 x float> %186, ptr %185, align 8
  %187 = getelementptr inbounds i8, ptr %46, i64 24
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %187, float noundef 5.000000e-01, float noundef 0.000000e+00)
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %181, ptr nonnull %46, i64 4)
  call void @_ZN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEC2ESt16initializer_listIS3_E(ptr noundef nonnull align 8 dereferenceable(168) %160, ptr nonnull %33, i64 4)
  %188 = getelementptr inbounds i8, ptr %32, i64 224
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(32) @constinit.31, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorIPKcLm10EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(88) %188, ptr nonnull %50, i64 4)
  %189 = getelementptr inbounds i8, ptr %32, i64 312
  store ptr @.str.32, ptr %189, align 8, !tbaa !23
  call void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528) %0, ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull align 8 dereferenceable(320) %32)
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %49) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #8
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %33) #8
  call void @llvm.lifetime.end.p0(i64 320, ptr nonnull %32) #8
  call void @llvm.lifetime.start.p0(i64 320, ptr nonnull %51) #8
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %51, ptr noundef @.str.33) #8
  %190 = getelementptr inbounds i8, ptr %51, i64 16
  store i8 21, ptr %190, align 8, !tbaa !5
  %191 = getelementptr inbounds i8, ptr %51, i64 17
  store i8 21, ptr %191, align 1, !tbaa !18
  %192 = getelementptr inbounds i8, ptr %51, i64 18
  store i8 0, ptr %192, align 2, !tbaa !19
  %193 = getelementptr inbounds i8, ptr %51, i64 20
  store i16 65, ptr %193, align 4, !tbaa !20
  %194 = getelementptr inbounds i8, ptr %51, i64 24
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %194, ptr noundef @.str.1) #8
  %195 = getelementptr inbounds i8, ptr %51, i64 40
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %195, ptr noundef @.str.34) #8
  %196 = getelementptr inbounds i8, ptr %51, i64 56
  call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %52) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %53, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %197 = getelementptr inbounds i8, ptr %53, i64 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #8
  %198 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  store <2 x float> %198, ptr %54, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %55) #8
  store float 5.000000e-01, ptr %55, align 4, !tbaa !24
  %199 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) %54, ptr noundef nonnull align 4 dereferenceable(4) %55)
  store <2 x float> %199, ptr %197, align 4
  %200 = getelementptr inbounds i8, ptr %53, i64 16
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #8
  %201 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  store <2 x float> %201, ptr %56, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %57) #8
  store float 5.000000e-01, ptr %57, align 4, !tbaa !24
  %202 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) %56, ptr noundef nonnull align 4 dereferenceable(4) %57)
  store <2 x float> %202, ptr %200, align 4
  %203 = getelementptr inbounds i8, ptr %53, i64 24
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %203, float noundef 5.000000e-01, float noundef 0.000000e+00)
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %52, ptr nonnull %53, i64 4)
  %204 = getelementptr inbounds i8, ptr %52, i64 40
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %59) #8
  store float 5.000000e-01, ptr %59, align 4, !tbaa !24
  %205 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i, ptr noundef nonnull align 4 dereferenceable(4) %59)
  store <2 x float> %205, ptr %58, align 8
  %206 = getelementptr inbounds i8, ptr %58, i64 8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %206, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %207 = getelementptr inbounds i8, ptr %58, i64 16
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %207, float noundef -5.000000e-01, float noundef 0.000000e+00)
  %208 = getelementptr inbounds i8, ptr %58, i64 24
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #8
  %209 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  store <2 x float> %209, ptr %60, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %61) #8
  store float 5.000000e-01, ptr %61, align 4, !tbaa !24
  %210 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) %60, ptr noundef nonnull align 4 dereferenceable(4) %61)
  store <2 x float> %210, ptr %208, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %204, ptr nonnull %58, i64 4)
  %211 = getelementptr inbounds i8, ptr %52, i64 80
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %62) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %63) #8
  store float 5.000000e-01, ptr %63, align 4, !tbaa !24
  %212 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i, ptr noundef nonnull align 4 dereferenceable(4) %63)
  store <2 x float> %212, ptr %62, align 8
  %213 = getelementptr inbounds i8, ptr %62, i64 8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %213, float noundef -5.000000e-01, float noundef 0.000000e+00)
  %214 = getelementptr inbounds i8, ptr %62, i64 16
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %214, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %215 = getelementptr inbounds i8, ptr %62, i64 24
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #8
  %216 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  store <2 x float> %216, ptr %64, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %65) #8
  store float 5.000000e-01, ptr %65, align 4, !tbaa !24
  %217 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) %64, ptr noundef nonnull align 4 dereferenceable(4) %65)
  store <2 x float> %217, ptr %215, align 8
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %211, ptr nonnull %62, i64 4)
  %218 = getelementptr inbounds i8, ptr %52, i64 120
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %66) #8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %66, float noundef 5.000000e-01, float noundef 0.000000e+00)
  %219 = getelementptr inbounds i8, ptr %66, i64 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %67) #8
  store float 5.000000e-01, ptr %67, align 4, !tbaa !24
  %220 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i, ptr noundef nonnull align 4 dereferenceable(4) %67)
  store <2 x float> %220, ptr %219, align 4
  %221 = getelementptr inbounds i8, ptr %66, i64 16
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %68) #8
  store float 5.000000e-01, ptr %68, align 4, !tbaa !24
  %222 = call <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i, ptr noundef nonnull align 4 dereferenceable(4) %68)
  store <2 x float> %222, ptr %221, align 4
  %223 = getelementptr inbounds i8, ptr %66, i64 24
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %223, float noundef 5.000000e-01, float noundef 0.000000e+00)
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %218, ptr nonnull %66, i64 4)
  call void @_ZN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEC2ESt16initializer_listIS3_E(ptr noundef nonnull align 8 dereferenceable(168) %196, ptr nonnull %52, i64 4)
  %224 = getelementptr inbounds i8, ptr %51, i64 224
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %69) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull align 8 dereferenceable(32) @constinit.37, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorIPKcLm10EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(88) %224, ptr nonnull %69, i64 4)
  %225 = getelementptr inbounds i8, ptr %51, i64 312
  store ptr @.str.38, ptr %225, align 8, !tbaa !23
  call void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528) %0, ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull align 8 dereferenceable(320) %51)
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %68) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %67) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %65) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %63) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %59) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %57) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #8
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %52) #8
  call void @llvm.lifetime.end.p0(i64 320, ptr nonnull %51) #8
  call void @llvm.lifetime.start.p0(i64 320, ptr nonnull %70) #8
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %70, ptr noundef @.str.39) #8
  %226 = getelementptr inbounds i8, ptr %70, i64 16
  store i8 22, ptr %226, align 8, !tbaa !5
  %227 = getelementptr inbounds i8, ptr %70, i64 17
  store i8 22, ptr %227, align 1, !tbaa !18
  %228 = getelementptr inbounds i8, ptr %70, i64 18
  store i8 0, ptr %228, align 2, !tbaa !19
  %229 = getelementptr inbounds i8, ptr %70, i64 20
  store i16 577, ptr %229, align 4, !tbaa !20
  %230 = getelementptr inbounds i8, ptr %70, i64 24
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %230, ptr noundef @.str.1) #8
  %231 = getelementptr inbounds i8, ptr %70, i64 40
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %231, ptr noundef @.str.40) #8
  %232 = getelementptr inbounds i8, ptr %70, i64 56
  call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %71) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %72) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %72, ptr noundef nonnull align 4 dereferenceable(32) @constinit.41, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %71, ptr nonnull %72, i64 4)
  %233 = getelementptr inbounds i8, ptr %71, i64 40
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %73) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %73, ptr noundef nonnull align 4 dereferenceable(32) @constinit.42, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %233, ptr nonnull %73, i64 4)
  %234 = getelementptr inbounds i8, ptr %71, i64 80
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %74) #8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %74, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %235 = getelementptr inbounds i8, ptr %74, i64 8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %235, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %236 = getelementptr inbounds i8, ptr %74, i64 16
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %236, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %237 = getelementptr inbounds i8, ptr %74, i64 24
  %238 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  store <2 x float> %238, ptr %237, align 4
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %234, ptr nonnull %74, i64 4)
  %239 = getelementptr inbounds i8, ptr %71, i64 120
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %75) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %75, ptr noundef nonnull align 4 dereferenceable(32) @constinit.43, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %239, ptr nonnull %75, i64 4)
  call void @_ZN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEC2ESt16initializer_listIS3_E(ptr noundef nonnull align 8 dereferenceable(168) %232, ptr nonnull %71, i64 4)
  %240 = getelementptr inbounds i8, ptr %70, i64 224
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %76) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef nonnull align 8 dereferenceable(32) @constinit.44, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorIPKcLm10EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(88) %240, ptr nonnull %76, i64 4)
  %241 = getelementptr inbounds i8, ptr %70, i64 312
  store ptr @.str.45, ptr %241, align 8, !tbaa !23
  call void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528) %0, ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull align 8 dereferenceable(320) %70)
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #8
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %71) #8
  call void @llvm.lifetime.end.p0(i64 320, ptr nonnull %70) #8
  call void @llvm.lifetime.start.p0(i64 320, ptr nonnull %77) #8
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %77, ptr noundef @.str.46) #8
  %242 = getelementptr inbounds i8, ptr %77, i64 16
  store i8 23, ptr %242, align 8, !tbaa !5
  %243 = getelementptr inbounds i8, ptr %77, i64 17
  store i8 23, ptr %243, align 1, !tbaa !18
  %244 = getelementptr inbounds i8, ptr %77, i64 18
  store i8 0, ptr %244, align 2, !tbaa !19
  %245 = getelementptr inbounds i8, ptr %77, i64 20
  store i16 577, ptr %245, align 4, !tbaa !20
  %246 = getelementptr inbounds i8, ptr %77, i64 24
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %246, ptr noundef @.str.1) #8
  %247 = getelementptr inbounds i8, ptr %77, i64 40
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %247, ptr noundef @.str.47) #8
  %248 = getelementptr inbounds i8, ptr %77, i64 56
  call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %78) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %79) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %79, ptr noundef nonnull align 4 dereferenceable(32) @constinit.48, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %78, ptr nonnull %79, i64 4)
  %249 = getelementptr inbounds i8, ptr %78, i64 40
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %80) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %80, ptr noundef nonnull align 4 dereferenceable(32) @constinit.49, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %249, ptr nonnull %80, i64 4)
  %250 = getelementptr inbounds i8, ptr %78, i64 80
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %81) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %81, ptr noundef nonnull align 4 dereferenceable(32) @constinit.50, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %250, ptr nonnull %81, i64 4)
  %251 = getelementptr inbounds i8, ptr %78, i64 120
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %82) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %82, ptr noundef nonnull align 4 dereferenceable(32) @constinit.51, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %251, ptr nonnull %82, i64 4)
  call void @_ZN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEC2ESt16initializer_listIS3_E(ptr noundef nonnull align 8 dereferenceable(168) %248, ptr nonnull %78, i64 4)
  %252 = getelementptr inbounds i8, ptr %77, i64 224
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %83) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull align 8 dereferenceable(32) @constinit.53, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorIPKcLm10EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(88) %252, ptr nonnull %83, i64 4)
  %253 = getelementptr inbounds i8, ptr %77, i64 312
  store ptr @.str.54, ptr %253, align 8, !tbaa !23
  call void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528) %0, ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull align 8 dereferenceable(320) %77)
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %82) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #8
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %78) #8
  call void @llvm.lifetime.end.p0(i64 320, ptr nonnull %77) #8
  call void @_ZN4stim11GateDataMap14add_gate_aliasERbPKcS3_(ptr noundef nonnull align 8 dereferenceable(38528) %0, ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.46)
  call void @_ZN4stim11GateDataMap14add_gate_aliasERbPKcS3_(ptr noundef nonnull align 8 dereferenceable(38528) %0, ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.46)
  call void @llvm.lifetime.start.p0(i64 320, ptr nonnull %84) #8
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %84, ptr noundef @.str.57) #8
  %254 = getelementptr inbounds i8, ptr %84, i64 16
  store i8 24, ptr %254, align 8, !tbaa !5
  %255 = getelementptr inbounds i8, ptr %84, i64 17
  store i8 24, ptr %255, align 1, !tbaa !18
  %256 = getelementptr inbounds i8, ptr %84, i64 18
  store i8 0, ptr %256, align 2, !tbaa !19
  %257 = getelementptr inbounds i8, ptr %84, i64 20
  store i16 577, ptr %257, align 4, !tbaa !20
  %258 = getelementptr inbounds i8, ptr %84, i64 24
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %258, ptr noundef @.str.1) #8
  %259 = getelementptr inbounds i8, ptr %84, i64 40
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %259, ptr noundef @.str.58) #8
  %260 = getelementptr inbounds i8, ptr %84, i64 56
  call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %85) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %86) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %86, ptr noundef nonnull align 4 dereferenceable(32) @constinit.59, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %85, ptr nonnull %86, i64 4)
  %261 = getelementptr inbounds i8, ptr %85, i64 40
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %87) #8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %87, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %262 = getelementptr inbounds i8, ptr %87, i64 8
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %262, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %263 = getelementptr inbounds i8, ptr %87, i64 16
  call void @_ZNSt7complexIfEC2Eff(ptr noundef nonnull align 4 dereferenceable(8) %263, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %264 = getelementptr inbounds i8, ptr %87, i64 24
  %265 = call <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8) @_ZL1i)
  store <2 x float> %265, ptr %264, align 4
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %261, ptr nonnull %87, i64 4)
  %266 = getelementptr inbounds i8, ptr %85, i64 80
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %88) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %88, ptr noundef nonnull align 4 dereferenceable(32) @constinit.60, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %266, ptr nonnull %88, i64 4)
  %267 = getelementptr inbounds i8, ptr %85, i64 120
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %89) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %89, ptr noundef nonnull align 4 dereferenceable(32) @constinit.61, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %267, ptr nonnull %89, i64 4)
  call void @_ZN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEC2ESt16initializer_listIS3_E(ptr noundef nonnull align 8 dereferenceable(168) %260, ptr nonnull %85, i64 4)
  %268 = getelementptr inbounds i8, ptr %84, i64 224
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %90) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef nonnull align 8 dereferenceable(32) @constinit.62, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorIPKcLm10EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(88) %268, ptr nonnull %90, i64 4)
  %269 = getelementptr inbounds i8, ptr %84, i64 312
  store ptr @.str.63, ptr %269, align 8, !tbaa !23
  call void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528) %0, ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull align 8 dereferenceable(320) %84)
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %90) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %88) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %86) #8
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %85) #8
  call void @llvm.lifetime.end.p0(i64 320, ptr nonnull %84) #8
  call void @_ZN4stim11GateDataMap14add_gate_aliasERbPKcS3_(ptr noundef nonnull align 8 dereferenceable(38528) %0, ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.57)
  call void @llvm.lifetime.start.p0(i64 320, ptr nonnull %91) #8
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %91, ptr noundef @.str.65) #8
  %270 = getelementptr inbounds i8, ptr %91, i64 16
  store i8 25, ptr %270, align 8, !tbaa !5
  %271 = getelementptr inbounds i8, ptr %91, i64 17
  store i8 25, ptr %271, align 1, !tbaa !18
  %272 = getelementptr inbounds i8, ptr %91, i64 18
  store i8 0, ptr %272, align 2, !tbaa !19
  %273 = getelementptr inbounds i8, ptr %91, i64 20
  store i16 577, ptr %273, align 4, !tbaa !20
  %274 = getelementptr inbounds i8, ptr %91, i64 24
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %274, ptr noundef @.str.1) #8
  %275 = getelementptr inbounds i8, ptr %91, i64 40
  call void @_ZNSt17basic_string_viewIcSt11char_traitsIcEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(16) %275, ptr noundef @.str.66) #8
  %276 = getelementptr inbounds i8, ptr %91, i64 56
  call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %92) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %93) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %93, ptr noundef nonnull align 4 dereferenceable(32) @constinit.67, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %92, ptr nonnull %93, i64 4)
  %277 = getelementptr inbounds i8, ptr %92, i64 40
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %94) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %94, ptr noundef nonnull align 4 dereferenceable(32) @constinit.68, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %277, ptr nonnull %94, i64 4)
  %278 = getelementptr inbounds i8, ptr %92, i64 80
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %95) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %95, ptr noundef nonnull align 4 dereferenceable(32) @constinit.69, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %278, ptr nonnull %95, i64 4)
  %279 = getelementptr inbounds i8, ptr %92, i64 120
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %96) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %96, ptr noundef nonnull align 4 dereferenceable(32) @constinit.70, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorISt7complexIfELm4EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(40) %279, ptr nonnull %96, i64 4)
  call void @_ZN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEC2ESt16initializer_listIS3_E(ptr noundef nonnull align 8 dereferenceable(168) %276, ptr nonnull %92, i64 4)
  %280 = getelementptr inbounds i8, ptr %91, i64 224
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %97) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef nonnull align 8 dereferenceable(32) @constinit.71, i64 32, i1 false), !tbaa.struct !21
  call void @_ZN4stim14FixedCapVectorIPKcLm10EEC2ESt16initializer_listIS2_E(ptr noundef nonnull align 8 dereferenceable(88) %280, ptr nonnull %97, i64 4)
  %281 = getelementptr inbounds i8, ptr %91, i64 312
  store ptr @.str.72, ptr %281, align 8, !tbaa !23
  call void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528) %0, ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull align 8 dereferenceable(320) %91)
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %93) #8
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %92) #8
  call void @llvm.lifetime.end.p0(i64 320, ptr nonnull %91) #8
  call void @_ZN4stim11GateDataMap14add_gate_aliasERbPKcS3_(ptr noundef nonnull align 8 dereferenceable(38528) %0, ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.65)
  ret void
}

declare void @_ZN4stim11GateDataMap8add_gateERbRKNS_4GateE(ptr noundef nonnull align 8 dereferenceable(38528), ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 8 dereferenceable(320)) local_unnamed_addr #1

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

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

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #4

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local <2 x float> @_ZStmlIfESt7complexIT_ERKS1_RKS2_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(8)) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local <2 x float> @_ZStmlIfESt7complexIT_ERKS2_RKS1_(ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #7

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local <2 x float> @_ZStngIfESt7complexIT_ERKS2_(ptr noundef nonnull align 4 dereferenceable(8)) local_unnamed_addr #6

declare void @_ZN4stim11GateDataMap14add_gate_aliasERbPKcS3_(ptr noundef nonnull align 8 dereferenceable(38528), ptr noundef nonnull align 1 dereferenceable(1), ptr noundef, ptr noundef) local_unnamed_addr #1

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

!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, !12, i64 16}
!6 = !{!"_ZTSN4stim4GateE", !7, i64 0, !12, i64 16, !12, i64 17, !9, i64 18, !13, i64 20, !7, i64 24, !7, i64 40, !14, i64 56, !16, i64 224, !11, i64 312}
!7 = !{!"_ZTSSt17basic_string_viewIcSt11char_traitsIcEE", !8, i64 0, !11, i64 8}
!8 = !{!"long", !9, i64 0}
!9 = !{!"omnipotent char", !10, i64 0}
!10 = !{!"Simple C++ TBAA"}
!11 = !{!"any pointer", !9, i64 0}
!12 = !{!"_ZTSN4stim8GateTypeE", !9, i64 0}
!13 = !{!"_ZTSN4stim9GateFlagsE", !9, i64 0}
!14 = !{!"_ZTSN4stim14FixedCapVectorINS0_ISt7complexIfELm4EEELm4EEE", !15, i64 0, !8, i64 160}
!15 = !{!"_ZTSSt5arrayIN4stim14FixedCapVectorISt7complexIfELm4EEELm4EE", !9, i64 0}
!16 = !{!"_ZTSN4stim14FixedCapVectorIPKcLm10EEE", !17, i64 0, !8, i64 80}
!17 = !{!"_ZTSSt5arrayIPKcLm10EE", !9, i64 0}
!18 = !{!6, !12, i64 17}
!19 = !{!6, !9, i64 18}
!20 = !{!6, !13, i64 20}
!21 = !{i64 0, i64 32, !22}
!22 = !{!9, !9, i64 0}
!23 = !{!6, !11, i64 312}
!24 = !{!25, !25, i64 0}
!25 = !{!"float", !9, i64 0}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,SROAPass