; LLVM IR from Try/Tempest :: Engine/thirdparty/openal-soft/alc/backends (base)

; 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"

%struct.BackendBase = type { ptr, ptr }
%struct.DeviceBase = type { %"struct.std::atomic", i8, i32, i32, i32, i8, i8, i32, float, i8, i8, i8, %"class.std::__cxx11::basic_string", %"class.std::bitset", i8, i32, i8, float, %class.NfcFilter, %"struct.std::atomic.3", %"struct.std::atomic.5", %"class.std::chrono::duration", %"struct.std::array.6", %"struct.std::array.6", [8 x i8], %"struct.std::array.8", %"struct.std::array.9", %"struct.std::array.10", %"struct.std::array.11", %"struct.std::array.12", %"class.std::vector", %struct.MixParams, %"struct.std::array.14", %struct.RealMixParams, %"class.std::unique_ptr", %"class.al::intrusive_ptr", i32, %"class.std::unique_ptr.19", %"class.std::unique_ptr.27", %"class.std::unique_ptr.35", { i64, i64 }, %"class.std::unique_ptr.43", %"class.std::unique_ptr.51", float, i32, %"struct.std::atomic.3", %"class.al::atomic_unique_ptr", [8 x i8] }
%"struct.std::atomic" = type { %"struct.std::__atomic_base" }
%"struct.std::__atomic_base" = type { i8 }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::bitset" = type { %"struct.std::_Base_bitset" }
%"struct.std::_Base_bitset" = type { i64 }
%class.NfcFilter = type { %struct.NfcFilter1, %struct.NfcFilter2, %struct.NfcFilter3, %struct.NfcFilter4 }
%struct.NfcFilter1 = type { float, float, float, float, %"struct.std::array" }
%"struct.std::array" = type { [1 x float] }
%struct.NfcFilter2 = type { float, float, float, float, float, float, %"struct.std::array.0" }
%"struct.std::array.0" = type { [2 x float] }
%struct.NfcFilter3 = type { float, float, float, float, float, float, float, float, %"struct.std::array.1" }
%"struct.std::array.1" = type { [3 x float] }
%struct.NfcFilter4 = type { float, float, float, float, float, float, float, float, float, float, %"struct.std::array.2" }
%"struct.std::array.2" = type { [4 x float] }
%"struct.std::atomic.5" = type { %"class.std::chrono::duration" }
%"class.std::chrono::duration" = type { i64 }
%"struct.std::array.6" = type { [16 x %"struct.std::array.7"] }
%"struct.std::array.7" = type { [16 x float] }
%"struct.std::array.8" = type { [20480 x float] }
%"struct.std::array.9" = type { [1328 x float] }
%"struct.std::array.10" = type { [1024 x float] }
%"struct.std::array.11" = type { [1088 x float] }
%"struct.std::array.12" = type { [1152 x %"struct.std::array.0"] }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::array<float, 1024>, al::allocator<std::array<float, 1024>, 16>>::_Vector_impl" }
%"struct.std::_Vector_base<std::array<float, 1024>, al::allocator<std::array<float, 1024>, 16>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::array<float, 1024>, al::allocator<std::array<float, 1024>, 16>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::array<float, 1024>, al::allocator<std::array<float, 1024>, 16>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%struct.MixParams = type { %"struct.std::array.13", %"class.al::span" }
%"struct.std::array.13" = type { [16 x %struct.BFChannelConfig] }
%struct.BFChannelConfig = type { float, i32 }
%"class.al::span" = type { ptr, i64 }
%"struct.std::array.14" = type { [4 x i32] }
%struct.RealMixParams = type { %"class.al::span.15", %"struct.std::array.16", %"class.al::span" }
%"class.al::span.15" = type { ptr, i64 }
%"struct.std::array.16" = type { [36 x i8] }
%"class.std::unique_ptr" = type { %"struct.std::__uniq_ptr_data" }
%"struct.std::__uniq_ptr_data" = type { %"class.std::__uniq_ptr_impl" }
%"class.std::__uniq_ptr_impl" = type { %"class.std::tuple" }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.18" }
%"struct.std::_Head_base.18" = type { ptr }
%"class.al::intrusive_ptr" = type { ptr }
%"class.std::unique_ptr.19" = type { %"struct.std::__uniq_ptr_data.20" }
%"struct.std::__uniq_ptr_data.20" = type { %"class.std::__uniq_ptr_impl.21" }
%"class.std::__uniq_ptr_impl.21" = type { %"class.std::tuple.22" }
%"class.std::tuple.22" = type { %"struct.std::_Tuple_impl.23" }
%"struct.std::_Tuple_impl.23" = type { %"struct.std::_Head_base.26" }
%"struct.std::_Head_base.26" = type { ptr }
%"class.std::unique_ptr.27" = type { %"struct.std::__uniq_ptr_data.28" }
%"struct.std::__uniq_ptr_data.28" = type { %"class.std::__uniq_ptr_impl.29" }
%"class.std::__uniq_ptr_impl.29" = type { %"class.std::tuple.30" }
%"class.std::tuple.30" = type { %"struct.std::_Tuple_impl.31" }
%"struct.std::_Tuple_impl.31" = type { %"struct.std::_Head_base.34" }
%"struct.std::_Head_base.34" = type { ptr }
%"class.std::unique_ptr.35" = type { %"struct.std::__uniq_ptr_data.36" }
%"struct.std::__uniq_ptr_data.36" = type { %"class.std::__uniq_ptr_impl.37" }
%"class.std::__uniq_ptr_impl.37" = type { %"class.std::tuple.38" }
%"class.std::tuple.38" = type { %"struct.std::_Tuple_impl.39" }
%"struct.std::_Tuple_impl.39" = type { %"struct.std::_Head_base.42" }
%"struct.std::_Head_base.42" = type { ptr }
%"class.std::unique_ptr.43" = type { %"struct.std::__uniq_ptr_data.44" }
%"struct.std::__uniq_ptr_data.44" = type { %"class.std::__uniq_ptr_impl.45" }
%"class.std::__uniq_ptr_impl.45" = type { %"class.std::tuple.46" }
%"class.std::tuple.46" = type { %"struct.std::_Tuple_impl.47" }
%"struct.std::_Tuple_impl.47" = type { %"struct.std::_Head_base.50" }
%"struct.std::_Head_base.50" = type { ptr }
%"class.std::unique_ptr.51" = type { %"struct.std::__uniq_ptr_data.52" }
%"struct.std::__uniq_ptr_data.52" = type { %"class.std::__uniq_ptr_impl.53" }
%"class.std::__uniq_ptr_impl.53" = type { %"class.std::tuple.54" }
%"class.std::tuple.54" = type { %"struct.std::_Tuple_impl.55" }
%"struct.std::_Tuple_impl.55" = type { %"struct.std::_Head_base.58" }
%"struct.std::_Head_base.58" = type { ptr }
%"struct.std::atomic.3" = type { %"struct.std::__atomic_base.4" }
%"struct.std::__atomic_base.4" = type { i32 }
%"class.al::atomic_unique_ptr" = type { %"struct.std::atomic.59" }
%"struct.std::atomic.59" = type { %"struct.std::__atomic_base.60" }
%"struct.std::__atomic_base.60" = type { ptr }

@_ZL19InvalidChannelIndex = external hidden constant i8, align 1

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK11BackendBase25setDefaultWFXChannelOrderEv(ptr noundef nonnull align 8 dereferenceable(16) %0) #0 align 2 {
  %2 = alloca ptr, align 8
  store ptr %0, ptr %2, align 8, !tbaa !5
  %3 = load ptr, ptr %2, align 8
  %4 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %5 = load ptr, ptr %4, align 8, !tbaa !9
  %6 = getelementptr inbounds %struct.DeviceBase, ptr %5, i32 0, i32 33
  %7 = getelementptr inbounds %struct.RealMixParams, ptr %6, i32 0, i32 1
  call void @_ZNSt5arrayIhLm36EE4fillERKh(ptr noundef nonnull align 1 dereferenceable(36) %7, ptr noundef nonnull align 1 dereferenceable(1) @_ZL19InvalidChannelIndex)
  %8 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %9 = load ptr, ptr %8, align 8, !tbaa !9
  %10 = getelementptr inbounds %struct.DeviceBase, ptr %9, i32 0, i32 5
  %11 = load i8, ptr %10, align 16, !tbaa !11
  %12 = zext i8 %11 to i32
  switch i32 %12, label %342 [
    i32 0, label %13
    i32 1, label %19
    i32 2, label %30
    i32 3, label %51
    i32 4, label %82
    i32 5, label %118
    i32 6, label %159
    i32 7, label %220
    i32 8, label %301
    i32 9, label %342
  ]

13:                                               ; preds = %1
  %14 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %15 = load ptr, ptr %14, align 8, !tbaa !9
  %16 = getelementptr inbounds %struct.DeviceBase, ptr %15, i32 0, i32 33
  %17 = getelementptr inbounds %struct.RealMixParams, ptr %16, i32 0, i32 1
  %18 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %17, i64 noundef 2) #2
  store i8 0, ptr %18, align 1, !tbaa !100
  br label %342

19:                                               ; preds = %1
  %20 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %21 = load ptr, ptr %20, align 8, !tbaa !9
  %22 = getelementptr inbounds %struct.DeviceBase, ptr %21, i32 0, i32 33
  %23 = getelementptr inbounds %struct.RealMixParams, ptr %22, i32 0, i32 1
  %24 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %23, i64 noundef 0) #2
  store i8 0, ptr %24, align 1, !tbaa !100
  %25 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %26 = load ptr, ptr %25, align 8, !tbaa !9
  %27 = getelementptr inbounds %struct.DeviceBase, ptr %26, i32 0, i32 33
  %28 = getelementptr inbounds %struct.RealMixParams, ptr %27, i32 0, i32 1
  %29 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %28, i64 noundef 1) #2
  store i8 1, ptr %29, align 1, !tbaa !100
  br label %342

30:                                               ; preds = %1
  %31 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %32 = load ptr, ptr %31, align 8, !tbaa !9
  %33 = getelementptr inbounds %struct.DeviceBase, ptr %32, i32 0, i32 33
  %34 = getelementptr inbounds %struct.RealMixParams, ptr %33, i32 0, i32 1
  %35 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %34, i64 noundef 0) #2
  store i8 0, ptr %35, align 1, !tbaa !100
  %36 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %37 = load ptr, ptr %36, align 8, !tbaa !9
  %38 = getelementptr inbounds %struct.DeviceBase, ptr %37, i32 0, i32 33
  %39 = getelementptr inbounds %struct.RealMixParams, ptr %38, i32 0, i32 1
  %40 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %39, i64 noundef 1) #2
  store i8 1, ptr %40, align 1, !tbaa !100
  %41 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %42 = load ptr, ptr %41, align 8, !tbaa !9
  %43 = getelementptr inbounds %struct.DeviceBase, ptr %42, i32 0, i32 33
  %44 = getelementptr inbounds %struct.RealMixParams, ptr %43, i32 0, i32 1
  %45 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %44, i64 noundef 4) #2
  store i8 2, ptr %45, align 1, !tbaa !100
  %46 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %47 = load ptr, ptr %46, align 8, !tbaa !9
  %48 = getelementptr inbounds %struct.DeviceBase, ptr %47, i32 0, i32 33
  %49 = getelementptr inbounds %struct.RealMixParams, ptr %48, i32 0, i32 1
  %50 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %49, i64 noundef 5) #2
  store i8 3, ptr %50, align 1, !tbaa !100
  br label %342

51:                                               ; preds = %1
  %52 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %53 = load ptr, ptr %52, align 8, !tbaa !9
  %54 = getelementptr inbounds %struct.DeviceBase, ptr %53, i32 0, i32 33
  %55 = getelementptr inbounds %struct.RealMixParams, ptr %54, i32 0, i32 1
  %56 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %55, i64 noundef 0) #2
  store i8 0, ptr %56, align 1, !tbaa !100
  %57 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %58 = load ptr, ptr %57, align 8, !tbaa !9
  %59 = getelementptr inbounds %struct.DeviceBase, ptr %58, i32 0, i32 33
  %60 = getelementptr inbounds %struct.RealMixParams, ptr %59, i32 0, i32 1
  %61 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %60, i64 noundef 1) #2
  store i8 1, ptr %61, align 1, !tbaa !100
  %62 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %63 = load ptr, ptr %62, align 8, !tbaa !9
  %64 = getelementptr inbounds %struct.DeviceBase, ptr %63, i32 0, i32 33
  %65 = getelementptr inbounds %struct.RealMixParams, ptr %64, i32 0, i32 1
  %66 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %65, i64 noundef 2) #2
  store i8 2, ptr %66, align 1, !tbaa !100
  %67 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %68 = load ptr, ptr %67, align 8, !tbaa !9
  %69 = getelementptr inbounds %struct.DeviceBase, ptr %68, i32 0, i32 33
  %70 = getelementptr inbounds %struct.RealMixParams, ptr %69, i32 0, i32 1
  %71 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %70, i64 noundef 3) #2
  store i8 3, ptr %71, align 1, !tbaa !100
  %72 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %73 = load ptr, ptr %72, align 8, !tbaa !9
  %74 = getelementptr inbounds %struct.DeviceBase, ptr %73, i32 0, i32 33
  %75 = getelementptr inbounds %struct.RealMixParams, ptr %74, i32 0, i32 1
  %76 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %75, i64 noundef 7) #2
  store i8 4, ptr %76, align 1, !tbaa !100
  %77 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %78 = load ptr, ptr %77, align 8, !tbaa !9
  %79 = getelementptr inbounds %struct.DeviceBase, ptr %78, i32 0, i32 33
  %80 = getelementptr inbounds %struct.RealMixParams, ptr %79, i32 0, i32 1
  %81 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %80, i64 noundef 8) #2
  store i8 5, ptr %81, align 1, !tbaa !100
  br label %342

82:                                               ; preds = %1
  %83 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %84 = load ptr, ptr %83, align 8, !tbaa !9
  %85 = getelementptr inbounds %struct.DeviceBase, ptr %84, i32 0, i32 33
  %86 = getelementptr inbounds %struct.RealMixParams, ptr %85, i32 0, i32 1
  %87 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %86, i64 noundef 0) #2
  store i8 0, ptr %87, align 1, !tbaa !100
  %88 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %89 = load ptr, ptr %88, align 8, !tbaa !9
  %90 = getelementptr inbounds %struct.DeviceBase, ptr %89, i32 0, i32 33
  %91 = getelementptr inbounds %struct.RealMixParams, ptr %90, i32 0, i32 1
  %92 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %91, i64 noundef 1) #2
  store i8 1, ptr %92, align 1, !tbaa !100
  %93 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %94 = load ptr, ptr %93, align 8, !tbaa !9
  %95 = getelementptr inbounds %struct.DeviceBase, ptr %94, i32 0, i32 33
  %96 = getelementptr inbounds %struct.RealMixParams, ptr %95, i32 0, i32 1
  %97 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %96, i64 noundef 2) #2
  store i8 2, ptr %97, align 1, !tbaa !100
  %98 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %99 = load ptr, ptr %98, align 8, !tbaa !9
  %100 = getelementptr inbounds %struct.DeviceBase, ptr %99, i32 0, i32 33
  %101 = getelementptr inbounds %struct.RealMixParams, ptr %100, i32 0, i32 1
  %102 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %101, i64 noundef 3) #2
  store i8 3, ptr %102, align 1, !tbaa !100
  %103 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %104 = load ptr, ptr %103, align 8, !tbaa !9
  %105 = getelementptr inbounds %struct.DeviceBase, ptr %104, i32 0, i32 33
  %106 = getelementptr inbounds %struct.RealMixParams, ptr %105, i32 0, i32 1
  %107 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %106, i64 noundef 6) #2
  store i8 4, ptr %107, align 1, !tbaa !100
  %108 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %109 = load ptr, ptr %108, align 8, !tbaa !9
  %110 = getelementptr inbounds %struct.DeviceBase, ptr %109, i32 0, i32 33
  %111 = getelementptr inbounds %struct.RealMixParams, ptr %110, i32 0, i32 1
  %112 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %111, i64 noundef 7) #2
  store i8 5, ptr %112, align 1, !tbaa !100
  %113 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %114 = load ptr, ptr %113, align 8, !tbaa !9
  %115 = getelementptr inbounds %struct.DeviceBase, ptr %114, i32 0, i32 33
  %116 = getelementptr inbounds %struct.RealMixParams, ptr %115, i32 0, i32 1
  %117 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %116, i64 noundef 8) #2
  store i8 6, ptr %117, align 1, !tbaa !100
  br label %342

118:                                              ; preds = %1
  %119 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %120 = load ptr, ptr %119, align 8, !tbaa !9
  %121 = getelementptr inbounds %struct.DeviceBase, ptr %120, i32 0, i32 33
  %122 = getelementptr inbounds %struct.RealMixParams, ptr %121, i32 0, i32 1
  %123 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %122, i64 noundef 0) #2
  store i8 0, ptr %123, align 1, !tbaa !100
  %124 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %125 = load ptr, ptr %124, align 8, !tbaa !9
  %126 = getelementptr inbounds %struct.DeviceBase, ptr %125, i32 0, i32 33
  %127 = getelementptr inbounds %struct.RealMixParams, ptr %126, i32 0, i32 1
  %128 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %127, i64 noundef 1) #2
  store i8 1, ptr %128, align 1, !tbaa !100
  %129 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %130 = load ptr, ptr %129, align 8, !tbaa !9
  %131 = getelementptr inbounds %struct.DeviceBase, ptr %130, i32 0, i32 33
  %132 = getelementptr inbounds %struct.RealMixParams, ptr %131, i32 0, i32 1
  %133 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %132, i64 noundef 2) #2
  store i8 2, ptr %133, align 1, !tbaa !100
  %134 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %135 = load ptr, ptr %134, align 8, !tbaa !9
  %136 = getelementptr inbounds %struct.DeviceBase, ptr %135, i32 0, i32 33
  %137 = getelementptr inbounds %struct.RealMixParams, ptr %136, i32 0, i32 1
  %138 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %137, i64 noundef 3) #2
  store i8 3, ptr %138, align 1, !tbaa !100
  %139 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %140 = load ptr, ptr %139, align 8, !tbaa !9
  %141 = getelementptr inbounds %struct.DeviceBase, ptr %140, i32 0, i32 33
  %142 = getelementptr inbounds %struct.RealMixParams, ptr %141, i32 0, i32 1
  %143 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %142, i64 noundef 4) #2
  store i8 4, ptr %143, align 1, !tbaa !100
  %144 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %145 = load ptr, ptr %144, align 8, !tbaa !9
  %146 = getelementptr inbounds %struct.DeviceBase, ptr %145, i32 0, i32 33
  %147 = getelementptr inbounds %struct.RealMixParams, ptr %146, i32 0, i32 1
  %148 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %147, i64 noundef 5) #2
  store i8 5, ptr %148, align 1, !tbaa !100
  %149 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %150 = load ptr, ptr %149, align 8, !tbaa !9
  %151 = getelementptr inbounds %struct.DeviceBase, ptr %150, i32 0, i32 33
  %152 = getelementptr inbounds %struct.RealMixParams, ptr %151, i32 0, i32 1
  %153 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %152, i64 noundef 7) #2
  store i8 6, ptr %153, align 1, !tbaa !100
  %154 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %155 = load ptr, ptr %154, align 8, !tbaa !9
  %156 = getelementptr inbounds %struct.DeviceBase, ptr %155, i32 0, i32 33
  %157 = getelementptr inbounds %struct.RealMixParams, ptr %156, i32 0, i32 1
  %158 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %157, i64 noundef 8) #2
  store i8 7, ptr %158, align 1, !tbaa !100
  br label %342

159:                                              ; preds = %1
  %160 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %161 = load ptr, ptr %160, align 8, !tbaa !9
  %162 = getelementptr inbounds %struct.DeviceBase, ptr %161, i32 0, i32 33
  %163 = getelementptr inbounds %struct.RealMixParams, ptr %162, i32 0, i32 1
  %164 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %163, i64 noundef 0) #2
  store i8 0, ptr %164, align 1, !tbaa !100
  %165 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %166 = load ptr, ptr %165, align 8, !tbaa !9
  %167 = getelementptr inbounds %struct.DeviceBase, ptr %166, i32 0, i32 33
  %168 = getelementptr inbounds %struct.RealMixParams, ptr %167, i32 0, i32 1
  %169 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %168, i64 noundef 1) #2
  store i8 1, ptr %169, align 1, !tbaa !100
  %170 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %171 = load ptr, ptr %170, align 8, !tbaa !9
  %172 = getelementptr inbounds %struct.DeviceBase, ptr %171, i32 0, i32 33
  %173 = getelementptr inbounds %struct.RealMixParams, ptr %172, i32 0, i32 1
  %174 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %173, i64 noundef 2) #2
  store i8 2, ptr %174, align 1, !tbaa !100
  %175 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %176 = load ptr, ptr %175, align 8, !tbaa !9
  %177 = getelementptr inbounds %struct.DeviceBase, ptr %176, i32 0, i32 33
  %178 = getelementptr inbounds %struct.RealMixParams, ptr %177, i32 0, i32 1
  %179 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %178, i64 noundef 3) #2
  store i8 3, ptr %179, align 1, !tbaa !100
  %180 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %181 = load ptr, ptr %180, align 8, !tbaa !9
  %182 = getelementptr inbounds %struct.DeviceBase, ptr %181, i32 0, i32 33
  %183 = getelementptr inbounds %struct.RealMixParams, ptr %182, i32 0, i32 1
  %184 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %183, i64 noundef 4) #2
  store i8 4, ptr %184, align 1, !tbaa !100
  %185 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %186 = load ptr, ptr %185, align 8, !tbaa !9
  %187 = getelementptr inbounds %struct.DeviceBase, ptr %186, i32 0, i32 33
  %188 = getelementptr inbounds %struct.RealMixParams, ptr %187, i32 0, i32 1
  %189 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %188, i64 noundef 5) #2
  store i8 5, ptr %189, align 1, !tbaa !100
  %190 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %191 = load ptr, ptr %190, align 8, !tbaa !9
  %192 = getelementptr inbounds %struct.DeviceBase, ptr %191, i32 0, i32 33
  %193 = getelementptr inbounds %struct.RealMixParams, ptr %192, i32 0, i32 1
  %194 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %193, i64 noundef 7) #2
  store i8 6, ptr %194, align 1, !tbaa !100
  %195 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %196 = load ptr, ptr %195, align 8, !tbaa !9
  %197 = getelementptr inbounds %struct.DeviceBase, ptr %196, i32 0, i32 33
  %198 = getelementptr inbounds %struct.RealMixParams, ptr %197, i32 0, i32 1
  %199 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %198, i64 noundef 8) #2
  store i8 7, ptr %199, align 1, !tbaa !100
  %200 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %201 = load ptr, ptr %200, align 8, !tbaa !9
  %202 = getelementptr inbounds %struct.DeviceBase, ptr %201, i32 0, i32 33
  %203 = getelementptr inbounds %struct.RealMixParams, ptr %202, i32 0, i32 1
  %204 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %203, i64 noundef 10) #2
  store i8 8, ptr %204, align 1, !tbaa !100
  %205 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %206 = load ptr, ptr %205, align 8, !tbaa !9
  %207 = getelementptr inbounds %struct.DeviceBase, ptr %206, i32 0, i32 33
  %208 = getelementptr inbounds %struct.RealMixParams, ptr %207, i32 0, i32 1
  %209 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %208, i64 noundef 12) #2
  store i8 9, ptr %209, align 1, !tbaa !100
  %210 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %211 = load ptr, ptr %210, align 8, !tbaa !9
  %212 = getelementptr inbounds %struct.DeviceBase, ptr %211, i32 0, i32 33
  %213 = getelementptr inbounds %struct.RealMixParams, ptr %212, i32 0, i32 1
  %214 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %213, i64 noundef 13) #2
  store i8 10, ptr %214, align 1, !tbaa !100
  %215 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %216 = load ptr, ptr %215, align 8, !tbaa !9
  %217 = getelementptr inbounds %struct.DeviceBase, ptr %216, i32 0, i32 33
  %218 = getelementptr inbounds %struct.RealMixParams, ptr %217, i32 0, i32 1
  %219 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %218, i64 noundef 15) #2
  store i8 11, ptr %219, align 1, !tbaa !100
  br label %342

220:                                              ; preds = %1
  %221 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %222 = load ptr, ptr %221, align 8, !tbaa !9
  %223 = getelementptr inbounds %struct.DeviceBase, ptr %222, i32 0, i32 33
  %224 = getelementptr inbounds %struct.RealMixParams, ptr %223, i32 0, i32 1
  %225 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %224, i64 noundef 0) #2
  store i8 0, ptr %225, align 1, !tbaa !100
  %226 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %227 = load ptr, ptr %226, align 8, !tbaa !9
  %228 = getelementptr inbounds %struct.DeviceBase, ptr %227, i32 0, i32 33
  %229 = getelementptr inbounds %struct.RealMixParams, ptr %228, i32 0, i32 1
  %230 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %229, i64 noundef 1) #2
  store i8 1, ptr %230, align 1, !tbaa !100
  %231 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %232 = load ptr, ptr %231, align 8, !tbaa !9
  %233 = getelementptr inbounds %struct.DeviceBase, ptr %232, i32 0, i32 33
  %234 = getelementptr inbounds %struct.RealMixParams, ptr %233, i32 0, i32 1
  %235 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %234, i64 noundef 2) #2
  store i8 2, ptr %235, align 1, !tbaa !100
  %236 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %237 = load ptr, ptr %236, align 8, !tbaa !9
  %238 = getelementptr inbounds %struct.DeviceBase, ptr %237, i32 0, i32 33
  %239 = getelementptr inbounds %struct.RealMixParams, ptr %238, i32 0, i32 1
  %240 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %239, i64 noundef 3) #2
  store i8 3, ptr %240, align 1, !tbaa !100
  %241 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %242 = load ptr, ptr %241, align 8, !tbaa !9
  %243 = getelementptr inbounds %struct.DeviceBase, ptr %242, i32 0, i32 33
  %244 = getelementptr inbounds %struct.RealMixParams, ptr %243, i32 0, i32 1
  %245 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %244, i64 noundef 4) #2
  store i8 4, ptr %245, align 1, !tbaa !100
  %246 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %247 = load ptr, ptr %246, align 8, !tbaa !9
  %248 = getelementptr inbounds %struct.DeviceBase, ptr %247, i32 0, i32 33
  %249 = getelementptr inbounds %struct.RealMixParams, ptr %248, i32 0, i32 1
  %250 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %249, i64 noundef 5) #2
  store i8 5, ptr %250, align 1, !tbaa !100
  %251 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %252 = load ptr, ptr %251, align 8, !tbaa !9
  %253 = getelementptr inbounds %struct.DeviceBase, ptr %252, i32 0, i32 33
  %254 = getelementptr inbounds %struct.RealMixParams, ptr %253, i32 0, i32 1
  %255 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %254, i64 noundef 7) #2
  store i8 6, ptr %255, align 1, !tbaa !100
  %256 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %257 = load ptr, ptr %256, align 8, !tbaa !9
  %258 = getelementptr inbounds %struct.DeviceBase, ptr %257, i32 0, i32 33
  %259 = getelementptr inbounds %struct.RealMixParams, ptr %258, i32 0, i32 1
  %260 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %259, i64 noundef 8) #2
  store i8 7, ptr %260, align 1, !tbaa !100
  %261 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %262 = load ptr, ptr %261, align 8, !tbaa !9
  %263 = getelementptr inbounds %struct.DeviceBase, ptr %262, i32 0, i32 33
  %264 = getelementptr inbounds %struct.RealMixParams, ptr %263, i32 0, i32 1
  %265 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %264, i64 noundef 10) #2
  store i8 8, ptr %265, align 1, !tbaa !100
  %266 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %267 = load ptr, ptr %266, align 8, !tbaa !9
  %268 = getelementptr inbounds %struct.DeviceBase, ptr %267, i32 0, i32 33
  %269 = getelementptr inbounds %struct.RealMixParams, ptr %268, i32 0, i32 1
  %270 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %269, i64 noundef 12) #2
  store i8 9, ptr %270, align 1, !tbaa !100
  %271 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %272 = load ptr, ptr %271, align 8, !tbaa !9
  %273 = getelementptr inbounds %struct.DeviceBase, ptr %272, i32 0, i32 33
  %274 = getelementptr inbounds %struct.RealMixParams, ptr %273, i32 0, i32 1
  %275 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %274, i64 noundef 13) #2
  store i8 10, ptr %275, align 1, !tbaa !100
  %276 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %277 = load ptr, ptr %276, align 8, !tbaa !9
  %278 = getelementptr inbounds %struct.DeviceBase, ptr %277, i32 0, i32 33
  %279 = getelementptr inbounds %struct.RealMixParams, ptr %278, i32 0, i32 1
  %280 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %279, i64 noundef 15) #2
  store i8 11, ptr %280, align 1, !tbaa !100
  %281 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %282 = load ptr, ptr %281, align 8, !tbaa !9
  %283 = getelementptr inbounds %struct.DeviceBase, ptr %282, i32 0, i32 33
  %284 = getelementptr inbounds %struct.RealMixParams, ptr %283, i32 0, i32 1
  %285 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %284, i64 noundef 16) #2
  store i8 12, ptr %285, align 1, !tbaa !100
  %286 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %287 = load ptr, ptr %286, align 8, !tbaa !9
  %288 = getelementptr inbounds %struct.DeviceBase, ptr %287, i32 0, i32 33
  %289 = getelementptr inbounds %struct.RealMixParams, ptr %288, i32 0, i32 1
  %290 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %289, i64 noundef 17) #2
  store i8 13, ptr %290, align 1, !tbaa !100
  %291 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %292 = load ptr, ptr %291, align 8, !tbaa !9
  %293 = getelementptr inbounds %struct.DeviceBase, ptr %292, i32 0, i32 33
  %294 = getelementptr inbounds %struct.RealMixParams, ptr %293, i32 0, i32 1
  %295 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %294, i64 noundef 18) #2
  store i8 14, ptr %295, align 1, !tbaa !100
  %296 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %297 = load ptr, ptr %296, align 8, !tbaa !9
  %298 = getelementptr inbounds %struct.DeviceBase, ptr %297, i32 0, i32 33
  %299 = getelementptr inbounds %struct.RealMixParams, ptr %298, i32 0, i32 1
  %300 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %299, i64 noundef 19) #2
  store i8 15, ptr %300, align 1, !tbaa !100
  br label %342

301:                                              ; preds = %1
  %302 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %303 = load ptr, ptr %302, align 8, !tbaa !9
  %304 = getelementptr inbounds %struct.DeviceBase, ptr %303, i32 0, i32 33
  %305 = getelementptr inbounds %struct.RealMixParams, ptr %304, i32 0, i32 1
  %306 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %305, i64 noundef 0) #2
  store i8 0, ptr %306, align 1, !tbaa !100
  %307 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %308 = load ptr, ptr %307, align 8, !tbaa !9
  %309 = getelementptr inbounds %struct.DeviceBase, ptr %308, i32 0, i32 33
  %310 = getelementptr inbounds %struct.RealMixParams, ptr %309, i32 0, i32 1
  %311 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %310, i64 noundef 1) #2
  store i8 1, ptr %311, align 1, !tbaa !100
  %312 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %313 = load ptr, ptr %312, align 8, !tbaa !9
  %314 = getelementptr inbounds %struct.DeviceBase, ptr %313, i32 0, i32 33
  %315 = getelementptr inbounds %struct.RealMixParams, ptr %314, i32 0, i32 1
  %316 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %315, i64 noundef 2) #2
  store i8 2, ptr %316, align 1, !tbaa !100
  %317 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %318 = load ptr, ptr %317, align 8, !tbaa !9
  %319 = getelementptr inbounds %struct.DeviceBase, ptr %318, i32 0, i32 33
  %320 = getelementptr inbounds %struct.RealMixParams, ptr %319, i32 0, i32 1
  %321 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %320, i64 noundef 3) #2
  store i8 3, ptr %321, align 1, !tbaa !100
  %322 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %323 = load ptr, ptr %322, align 8, !tbaa !9
  %324 = getelementptr inbounds %struct.DeviceBase, ptr %323, i32 0, i32 33
  %325 = getelementptr inbounds %struct.RealMixParams, ptr %324, i32 0, i32 1
  %326 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %325, i64 noundef 20) #2
  store i8 4, ptr %326, align 1, !tbaa !100
  %327 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %328 = load ptr, ptr %327, align 8, !tbaa !9
  %329 = getelementptr inbounds %struct.DeviceBase, ptr %328, i32 0, i32 33
  %330 = getelementptr inbounds %struct.RealMixParams, ptr %329, i32 0, i32 1
  %331 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %330, i64 noundef 21) #2
  store i8 5, ptr %331, align 1, !tbaa !100
  %332 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %333 = load ptr, ptr %332, align 8, !tbaa !9
  %334 = getelementptr inbounds %struct.DeviceBase, ptr %333, i32 0, i32 33
  %335 = getelementptr inbounds %struct.RealMixParams, ptr %334, i32 0, i32 1
  %336 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %335, i64 noundef 7) #2
  store i8 6, ptr %336, align 1, !tbaa !100
  %337 = getelementptr inbounds %struct.BackendBase, ptr %3, i32 0, i32 1
  %338 = load ptr, ptr %337, align 8, !tbaa !9
  %339 = getelementptr inbounds %struct.DeviceBase, ptr %338, i32 0, i32 33
  %340 = getelementptr inbounds %struct.RealMixParams, ptr %339, i32 0, i32 1
  %341 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %340, i64 noundef 8) #2
  store i8 7, ptr %341, align 1, !tbaa !100
  br label %342

342:                                              ; preds = %301, %220, %159, %118, %82, %51, %30, %19, %13, %1, %1
  ret void
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt5arrayIhLm36EE4fillERKh(ptr noundef nonnull align 1 dereferenceable(36), ptr noundef nonnull align 1 dereferenceable(1)) #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36), i64 noundef) #1 align 2

attributes #0 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { 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, !6, i64 8}
!10 = !{!"_ZTS11BackendBase", !6, i64 8}
!11 = !{!12, !18, i64 16}
!12 = !{!"_ZTS10DeviceBase", !13, i64 0, !16, i64 1, !17, i64 4, !17, i64 8, !17, i64 12, !18, i64 16, !19, i64 17, !17, i64 20, !20, i64 24, !15, i64 28, !21, i64 29, !22, i64 30, !23, i64 32, !26, i64 64, !28, i64 72, !17, i64 76, !29, i64 80, !20, i64 84, !30, i64 88, !39, i64 240, !41, i64 248, !42, i64 256, !43, i64 264, !43, i64 1288, !44, i64 2320, !45, i64 84240, !46, i64 89552, !47, i64 93648, !48, i64 98000, !49, i64 107216, !53, i64 107240, !56, i64 107384, !57, i64 107400, !60, i64 107472, !66, i64 107480, !17, i64 107488, !67, i64 107496, !73, i64 107504, !79, i64 107512, !7, i64 107520, !85, i64 107536, !91, i64 107544, !20, i64 107552, !17, i64 107556, !39, i64 107560, !97, i64 107568}
!13 = !{!"_ZTSSt6atomicIbE", !14, i64 0}
!14 = !{!"_ZTSSt13__atomic_baseIbE", !15, i64 0}
!15 = !{!"bool", !7, i64 0}
!16 = !{!"_ZTS10DeviceType", !7, i64 0}
!17 = !{!"int", !7, i64 0}
!18 = !{!"_ZTS14DevFmtChannels", !7, i64 0}
!19 = !{!"_ZTS10DevFmtType", !7, i64 0}
!20 = !{!"float", !7, i64 0}
!21 = !{!"_ZTS13DevAmbiLayout", !7, i64 0}
!22 = !{!"_ZTS14DevAmbiScaling", !7, i64 0}
!23 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !24, i64 0, !25, i64 8, !7, i64 16}
!24 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!25 = !{!"long", !7, i64 0}
!26 = !{!"_ZTSSt6bitsetILm6EE", !27, i64 0}
!27 = !{!"_ZTSSt12_Base_bitsetILm1EE", !25, i64 0}
!28 = !{!"_ZTS11DeviceState", !7, i64 0}
!29 = !{!"_ZTS10RenderMode", !7, i64 0}
!30 = !{!"_ZTS9NfcFilter", !31, i64 0, !33, i64 20, !35, i64 52, !37, i64 96}
!31 = !{!"_ZTS10NfcFilter1", !20, i64 0, !20, i64 4, !20, i64 8, !20, i64 12, !32, i64 16}
!32 = !{!"_ZTSSt5arrayIfLm1EE", !7, i64 0}
!33 = !{!"_ZTS10NfcFilter2", !20, i64 0, !20, i64 4, !20, i64 8, !20, i64 12, !20, i64 16, !20, i64 20, !34, i64 24}
!34 = !{!"_ZTSSt5arrayIfLm2EE", !7, i64 0}
!35 = !{!"_ZTS10NfcFilter3", !20, i64 0, !20, i64 4, !20, i64 8, !20, i64 12, !20, i64 16, !20, i64 20, !20, i64 24, !20, i64 28, !36, i64 32}
!36 = !{!"_ZTSSt5arrayIfLm3EE", !7, i64 0}
!37 = !{!"_ZTS10NfcFilter4", !20, i64 0, !20, i64 4, !20, i64 8, !20, i64 12, !20, i64 16, !20, i64 20, !20, i64 24, !20, i64 28, !20, i64 32, !20, i64 36, !38, i64 40}
!38 = !{!"_ZTSSt5arrayIfLm4EE", !7, i64 0}
!39 = !{!"_ZTSSt6atomicIjE", !40, i64 0}
!40 = !{!"_ZTSSt13__atomic_baseIjE", !17, i64 0}
!41 = !{!"_ZTSSt6atomicINSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEEE", !42, i64 0}
!42 = !{!"_ZTSNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE", !25, i64 0}
!43 = !{!"_ZTSSt5arrayIS_IfLm16EELm16EE", !7, i64 0}
!44 = !{!"_ZTSSt5arrayIfLm20480EE", !7, i64 0}
!45 = !{!"_ZTSSt5arrayIfLm1328EE", !7, i64 0}
!46 = !{!"_ZTSSt5arrayIfLm1024EE", !7, i64 0}
!47 = !{!"_ZTSSt5arrayIfLm1088EE", !7, i64 0}
!48 = !{!"_ZTSSt5arrayIS_IfLm2EELm1152EE", !7, i64 0}
!49 = !{!"_ZTSSt6vectorISt5arrayIfLm1024EEN2al9allocatorIS1_Lm16EEEE", !50, i64 0}
!50 = !{!"_ZTSSt12_Vector_baseISt5arrayIfLm1024EEN2al9allocatorIS1_Lm16EEEE", !51, i64 0}
!51 = !{!"_ZTSNSt12_Vector_baseISt5arrayIfLm1024EEN2al9allocatorIS1_Lm16EEEE12_Vector_implE", !52, i64 0}
!52 = !{!"_ZTSNSt12_Vector_baseISt5arrayIfLm1024EEN2al9allocatorIS1_Lm16EEEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!53 = !{!"_ZTS9MixParams", !54, i64 0, !55, i64 128}
!54 = !{!"_ZTSSt5arrayI15BFChannelConfigLm16EE", !7, i64 0}
!55 = !{!"_ZTSN2al4spanISt5arrayIfLm1024EELm18446744073709551615EEE", !6, i64 0, !25, i64 8}
!56 = !{!"_ZTSSt5arrayIjLm4EE", !7, i64 0}
!57 = !{!"_ZTS13RealMixParams", !58, i64 0, !59, i64 16, !55, i64 56}
!58 = !{!"_ZTSN2al4spanIK13InputRemixMapLm18446744073709551615EEE", !6, i64 0, !25, i64 8}
!59 = !{!"_ZTSSt5arrayIhLm36EE", !7, i64 0}
!60 = !{!"_ZTSSt10unique_ptrI15DirectHrtfStateSt14default_deleteIS0_EE", !61, i64 0}
!61 = !{!"_ZTSSt15__uniq_ptr_dataI15DirectHrtfStateSt14default_deleteIS0_ELb1ELb1EE", !62, i64 0}
!62 = !{!"_ZTSSt15__uniq_ptr_implI15DirectHrtfStateSt14default_deleteIS0_EE", !63, i64 0}
!63 = !{!"_ZTSSt5tupleIJP15DirectHrtfStateSt14default_deleteIS0_EEE", !64, i64 0}
!64 = !{!"_ZTSSt11_Tuple_implILm0EJP15DirectHrtfStateSt14default_deleteIS0_EEE", !65, i64 0}
!65 = !{!"_ZTSSt10_Head_baseILm0EP15DirectHrtfStateLb0EE", !6, i64 0}
!66 = !{!"_ZTSN2al13intrusive_ptrI9HrtfStoreEE", !6, i64 0}
!67 = !{!"_ZTSSt10unique_ptrI14UhjEncoderBaseSt14default_deleteIS0_EE", !68, i64 0}
!68 = !{!"_ZTSSt15__uniq_ptr_dataI14UhjEncoderBaseSt14default_deleteIS0_ELb1ELb1EE", !69, i64 0}
!69 = !{!"_ZTSSt15__uniq_ptr_implI14UhjEncoderBaseSt14default_deleteIS0_EE", !70, i64 0}
!70 = !{!"_ZTSSt5tupleIJP14UhjEncoderBaseSt14default_deleteIS0_EEE", !71, i64 0}
!71 = !{!"_ZTSSt11_Tuple_implILm0EJP14UhjEncoderBaseSt14default_deleteIS0_EEE", !72, i64 0}
!72 = !{!"_ZTSSt10_Head_baseILm0EP14UhjEncoderBaseLb0EE", !6, i64 0}
!73 = !{!"_ZTSSt10unique_ptrI10BFormatDecSt14default_deleteIS0_EE", !74, i64 0}
!74 = !{!"_ZTSSt15__uniq_ptr_dataI10BFormatDecSt14default_deleteIS0_ELb1ELb1EE", !75, i64 0}
!75 = !{!"_ZTSSt15__uniq_ptr_implI10BFormatDecSt14default_deleteIS0_EE", !76, i64 0}
!76 = !{!"_ZTSSt5tupleIJP10BFormatDecSt14default_deleteIS0_EEE", !77, i64 0}
!77 = !{!"_ZTSSt11_Tuple_implILm0EJP10BFormatDecSt14default_deleteIS0_EEE", !78, i64 0}
!78 = !{!"_ZTSSt10_Head_baseILm0EP10BFormatDecLb0EE", !6, i64 0}
!79 = !{!"_ZTSSt10unique_ptrIN4Bs2b4bs2bESt14default_deleteIS1_EE", !80, i64 0}
!80 = !{!"_ZTSSt15__uniq_ptr_dataIN4Bs2b4bs2bESt14default_deleteIS1_ELb1ELb1EE", !81, i64 0}
!81 = !{!"_ZTSSt15__uniq_ptr_implIN4Bs2b4bs2bESt14default_deleteIS1_EE", !82, i64 0}
!82 = !{!"_ZTSSt5tupleIJPN4Bs2b4bs2bESt14default_deleteIS1_EEE", !83, i64 0}
!83 = !{!"_ZTSSt11_Tuple_implILm0EJPN4Bs2b4bs2bESt14default_deleteIS1_EEE", !84, i64 0}
!84 = !{!"_ZTSSt10_Head_baseILm0EPN4Bs2b4bs2bELb0EE", !6, i64 0}
!85 = !{!"_ZTSSt10unique_ptrI10CompressorSt14default_deleteIS0_EE", !86, i64 0}
!86 = !{!"_ZTSSt15__uniq_ptr_dataI10CompressorSt14default_deleteIS0_ELb1ELb1EE", !87, i64 0}
!87 = !{!"_ZTSSt15__uniq_ptr_implI10CompressorSt14default_deleteIS0_EE", !88, i64 0}
!88 = !{!"_ZTSSt5tupleIJP10CompressorSt14default_deleteIS0_EEE", !89, i64 0}
!89 = !{!"_ZTSSt11_Tuple_implILm0EJP10CompressorSt14default_deleteIS0_EEE", !90, i64 0}
!90 = !{!"_ZTSSt10_Head_baseILm0EP10CompressorLb0EE", !6, i64 0}
!91 = !{!"_ZTSSt10unique_ptrI12DistanceCompSt14default_deleteIS0_EE", !92, i64 0}
!92 = !{!"_ZTSSt15__uniq_ptr_dataI12DistanceCompSt14default_deleteIS0_ELb1ELb1EE", !93, i64 0}
!93 = !{!"_ZTSSt15__uniq_ptr_implI12DistanceCompSt14default_deleteIS0_EE", !94, i64 0}
!94 = !{!"_ZTSSt5tupleIJP12DistanceCompSt14default_deleteIS0_EEE", !95, i64 0}
!95 = !{!"_ZTSSt11_Tuple_implILm0EJP12DistanceCompSt14default_deleteIS0_EEE", !96, i64 0}
!96 = !{!"_ZTSSt10_Head_baseILm0EP12DistanceCompLb0EE", !6, i64 0}
!97 = !{!"_ZTSN2al17atomic_unique_ptrINS_9FlexArrayIP11ContextBaseLm8EEESt14default_deleteIS4_EEE", !98, i64 0}
!98 = !{!"_ZTSSt6atomicIPN2al9FlexArrayIP11ContextBaseLm8EEEE", !99, i64 0}
!99 = !{!"_ZTSSt13__atomic_baseIPN2al9FlexArrayIP11ContextBaseLm8EEEE", !6, i64 0}
!100 = !{!7, !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"

@_ZL19InvalidChannelIndex = external hidden constant i8, align 1

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK11BackendBase25setDefaultWFXChannelOrderEv(ptr nocapture noundef nonnull readonly align 8 dereferenceable(16) %0) local_unnamed_addr #0 align 2 {
  %2 = getelementptr inbounds i8, ptr %0, i64 8
  %3 = load ptr, ptr %2, align 8, !tbaa !5
  %4 = getelementptr inbounds i8, ptr %3, i64 107416
  tail call void @_ZNSt5arrayIhLm36EE4fillERKh(ptr noundef nonnull align 1 dereferenceable(36) %4, ptr noundef nonnull align 1 dereferenceable(1) @_ZL19InvalidChannelIndex)
  %5 = load ptr, ptr %2, align 8, !tbaa !5
  %6 = getelementptr inbounds i8, ptr %5, i64 16
  %7 = load i8, ptr %6, align 16, !tbaa !10
  switch i8 %7, label %70 [
    i8 0, label %.sink.split
    i8 1, label %.sink.split.sink.split
    i8 2, label %.sink.split.sink.split.sink.split
    i8 3, label %.sink.split.sink.split.sink.split.sink.split
    i8 4, label %.sink.split.sink.split.sink.split.sink.split.sink.split
    i8 5, label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split
    i8 6, label %8
    i8 7, label %21
    i8 8, label %46
  ]

8:                                                ; preds = %1
  %9 = getelementptr inbounds i8, ptr %5, i64 107416
  %10 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %9, i64 noundef 0) #2
  store i8 0, ptr %10, align 1, !tbaa !99
  %11 = load ptr, ptr %2, align 8, !tbaa !5
  %12 = getelementptr inbounds i8, ptr %11, i64 107416
  %13 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %12, i64 noundef 1) #2
  store i8 1, ptr %13, align 1, !tbaa !99
  %14 = load ptr, ptr %2, align 8, !tbaa !5
  %15 = getelementptr inbounds i8, ptr %14, i64 107416
  %16 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %15, i64 noundef 2) #2
  store i8 2, ptr %16, align 1, !tbaa !99
  %17 = load ptr, ptr %2, align 8, !tbaa !5
  %18 = getelementptr inbounds i8, ptr %17, i64 107416
  %19 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %18, i64 noundef 3) #2
  store i8 3, ptr %19, align 1, !tbaa !99
  %20 = load ptr, ptr %2, align 8, !tbaa !5
  br label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split

21:                                               ; preds = %1
  %22 = getelementptr inbounds i8, ptr %5, i64 107416
  %23 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %22, i64 noundef 0) #2
  store i8 0, ptr %23, align 1, !tbaa !99
  %24 = load ptr, ptr %2, align 8, !tbaa !5
  %25 = getelementptr inbounds i8, ptr %24, i64 107416
  %26 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %25, i64 noundef 1) #2
  store i8 1, ptr %26, align 1, !tbaa !99
  %27 = load ptr, ptr %2, align 8, !tbaa !5
  %28 = getelementptr inbounds i8, ptr %27, i64 107416
  %29 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %28, i64 noundef 2) #2
  store i8 2, ptr %29, align 1, !tbaa !99
  %30 = load ptr, ptr %2, align 8, !tbaa !5
  %31 = getelementptr inbounds i8, ptr %30, i64 107416
  %32 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %31, i64 noundef 3) #2
  store i8 3, ptr %32, align 1, !tbaa !99
  %33 = load ptr, ptr %2, align 8, !tbaa !5
  %34 = getelementptr inbounds i8, ptr %33, i64 107416
  %35 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %34, i64 noundef 4) #2
  store i8 4, ptr %35, align 1, !tbaa !99
  %36 = load ptr, ptr %2, align 8, !tbaa !5
  %37 = getelementptr inbounds i8, ptr %36, i64 107416
  %38 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %37, i64 noundef 5) #2
  store i8 5, ptr %38, align 1, !tbaa !99
  %39 = load ptr, ptr %2, align 8, !tbaa !5
  %40 = getelementptr inbounds i8, ptr %39, i64 107416
  %41 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %40, i64 noundef 7) #2
  store i8 6, ptr %41, align 1, !tbaa !99
  %42 = load ptr, ptr %2, align 8, !tbaa !5
  %43 = getelementptr inbounds i8, ptr %42, i64 107416
  %44 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %43, i64 noundef 8) #2
  store i8 7, ptr %44, align 1, !tbaa !99
  %45 = load ptr, ptr %2, align 8, !tbaa !5
  br label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split

46:                                               ; preds = %1
  br label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split

.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split: ; preds = %1, %46, %21, %8
  %.sink39 = phi ptr [ %20, %8 ], [ %45, %21 ], [ %5, %46 ], [ %5, %1 ]
  %.sink38 = phi i64 [ 4, %8 ], [ 10, %21 ], [ 0, %46 ], [ 0, %1 ]
  %.sink35 = phi i8 [ 4, %8 ], [ 8, %21 ], [ 0, %46 ], [ 0, %1 ]
  %.sink33.ph = phi i64 [ 5, %8 ], [ 12, %21 ], [ 1, %46 ], [ 1, %1 ]
  %.sink30.ph = phi i8 [ 5, %8 ], [ 9, %21 ], [ 1, %46 ], [ 1, %1 ]
  %.sink28.ph.ph = phi i64 [ 7, %8 ], [ 13, %21 ], [ 2, %46 ], [ 2, %1 ]
  %.sink25.ph.ph = phi i8 [ 6, %8 ], [ 10, %21 ], [ 2, %46 ], [ 2, %1 ]
  %.sink23.ph.ph = phi i64 [ 8, %8 ], [ 15, %21 ], [ 3, %46 ], [ 3, %1 ]
  %.sink20.ph.ph = phi i8 [ 7, %8 ], [ 11, %21 ], [ 3, %46 ], [ 3, %1 ]
  %.sink18.ph.ph.ph = phi i64 [ 10, %8 ], [ 16, %21 ], [ 20, %46 ], [ 4, %1 ]
  %.sink15.ph.ph.ph = phi i8 [ 8, %8 ], [ 12, %21 ], [ 4, %46 ], [ 4, %1 ]
  %.sink13.ph.ph.ph = phi i64 [ 12, %8 ], [ 17, %21 ], [ 21, %46 ], [ 5, %1 ]
  %.sink10.ph.ph.ph = phi i8 [ 9, %8 ], [ 13, %21 ], [ 5, %46 ], [ %7, %1 ]
  %.sink8.ph.ph.ph.ph = phi i64 [ 13, %8 ], [ 18, %21 ], [ 7, %46 ], [ 7, %1 ]
  %.sink5.ph.ph.ph.ph = phi i8 [ 10, %8 ], [ 14, %21 ], [ 6, %46 ], [ 6, %1 ]
  %.sink3.ph.ph.ph.ph.ph = phi i64 [ 15, %8 ], [ 19, %21 ], [ 8, %46 ], [ 8, %1 ]
  %.sink.ph.ph.ph.ph.ph = phi i8 [ 11, %8 ], [ 15, %21 ], [ 7, %46 ], [ 7, %1 ]
  %47 = getelementptr inbounds i8, ptr %.sink39, i64 107416
  %48 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %47, i64 noundef %.sink38) #2
  store i8 %.sink35, ptr %48, align 1, !tbaa !99
  %49 = load ptr, ptr %2, align 8, !tbaa !5
  br label %.sink.split.sink.split.sink.split.sink.split.sink.split

.sink.split.sink.split.sink.split.sink.split.sink.split: ; preds = %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split, %1
  %.sink34 = phi ptr [ %5, %1 ], [ %49, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink33 = phi i64 [ 0, %1 ], [ %.sink33.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink30 = phi i8 [ 0, %1 ], [ %.sink30.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink28.ph = phi i64 [ 1, %1 ], [ %.sink28.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink25.ph = phi i8 [ 1, %1 ], [ %.sink25.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink23.ph = phi i64 [ 2, %1 ], [ %.sink23.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink20.ph = phi i8 [ 2, %1 ], [ %.sink20.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink18.ph.ph = phi i64 [ 3, %1 ], [ %.sink18.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink15.ph.ph = phi i8 [ 3, %1 ], [ %.sink15.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink13.ph.ph = phi i64 [ 6, %1 ], [ %.sink13.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink10.ph.ph = phi i8 [ %7, %1 ], [ %.sink10.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink8.ph.ph.ph = phi i64 [ 7, %1 ], [ %.sink8.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink5.ph.ph.ph = phi i8 [ 5, %1 ], [ %.sink5.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink3.ph.ph.ph.ph = phi i64 [ 8, %1 ], [ %.sink3.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink.ph.ph.ph.ph = phi i8 [ 6, %1 ], [ %.sink.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %50 = getelementptr inbounds i8, ptr %.sink34, i64 107416
  %51 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %50, i64 noundef %.sink33) #2
  store i8 %.sink30, ptr %51, align 1, !tbaa !99
  %52 = load ptr, ptr %2, align 8, !tbaa !5
  br label %.sink.split.sink.split.sink.split.sink.split

.sink.split.sink.split.sink.split.sink.split:     ; preds = %.sink.split.sink.split.sink.split.sink.split.sink.split, %1
  %.sink29 = phi ptr [ %5, %1 ], [ %52, %.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink28 = phi i64 [ 0, %1 ], [ %.sink28.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink25 = phi i8 [ 0, %1 ], [ %.sink25.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink23 = phi i64 [ 1, %1 ], [ %.sink23.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink20 = phi i8 [ 1, %1 ], [ %.sink20.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink18.ph = phi i64 [ 2, %1 ], [ %.sink18.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink15.ph = phi i8 [ 2, %1 ], [ %.sink15.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink13.ph = phi i64 [ 3, %1 ], [ %.sink13.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink10.ph = phi i8 [ %7, %1 ], [ %.sink10.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink8.ph.ph = phi i64 [ 7, %1 ], [ %.sink8.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink5.ph.ph = phi i8 [ 4, %1 ], [ %.sink5.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink3.ph.ph.ph = phi i64 [ 8, %1 ], [ %.sink3.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink.ph.ph.ph = phi i8 [ 5, %1 ], [ %.sink.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %53 = getelementptr inbounds i8, ptr %.sink29, i64 107416
  %54 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %53, i64 noundef %.sink28) #2
  store i8 %.sink25, ptr %54, align 1, !tbaa !99
  %55 = load ptr, ptr %2, align 8, !tbaa !5
  %56 = getelementptr inbounds i8, ptr %55, i64 107416
  %57 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %56, i64 noundef %.sink23) #2
  store i8 %.sink20, ptr %57, align 1, !tbaa !99
  %58 = load ptr, ptr %2, align 8, !tbaa !5
  br label %.sink.split.sink.split.sink.split

.sink.split.sink.split.sink.split:                ; preds = %.sink.split.sink.split.sink.split.sink.split, %1
  %.sink19 = phi ptr [ %5, %1 ], [ %58, %.sink.split.sink.split.sink.split.sink.split ]
  %.sink18 = phi i64 [ 0, %1 ], [ %.sink18.ph, %.sink.split.sink.split.sink.split.sink.split ]
  %.sink15 = phi i8 [ 0, %1 ], [ %.sink15.ph, %.sink.split.sink.split.sink.split.sink.split ]
  %.sink13 = phi i64 [ 1, %1 ], [ %.sink13.ph, %.sink.split.sink.split.sink.split.sink.split ]
  %.sink10 = phi i8 [ 1, %1 ], [ %.sink10.ph, %.sink.split.sink.split.sink.split.sink.split ]
  %.sink8.ph = phi i64 [ 4, %1 ], [ %.sink8.ph.ph, %.sink.split.sink.split.sink.split.sink.split ]
  %.sink5.ph = phi i8 [ %7, %1 ], [ %.sink5.ph.ph, %.sink.split.sink.split.sink.split.sink.split ]
  %.sink3.ph.ph = phi i64 [ 5, %1 ], [ %.sink3.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split ]
  %.sink.ph.ph = phi i8 [ 3, %1 ], [ %.sink.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split ]
  %59 = getelementptr inbounds i8, ptr %.sink19, i64 107416
  %60 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %59, i64 noundef %.sink18) #2
  store i8 %.sink15, ptr %60, align 1, !tbaa !99
  %61 = load ptr, ptr %2, align 8, !tbaa !5
  %62 = getelementptr inbounds i8, ptr %61, i64 107416
  %63 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %62, i64 noundef %.sink13) #2
  store i8 %.sink10, ptr %63, align 1, !tbaa !99
  %64 = load ptr, ptr %2, align 8, !tbaa !5
  br label %.sink.split.sink.split

.sink.split.sink.split:                           ; preds = %.sink.split.sink.split.sink.split, %1
  %.sink9 = phi ptr [ %5, %1 ], [ %64, %.sink.split.sink.split.sink.split ]
  %.sink8 = phi i64 [ 0, %1 ], [ %.sink8.ph, %.sink.split.sink.split.sink.split ]
  %.sink5 = phi i8 [ 0, %1 ], [ %.sink5.ph, %.sink.split.sink.split.sink.split ]
  %.sink3.ph = phi i64 [ 1, %1 ], [ %.sink3.ph.ph, %.sink.split.sink.split.sink.split ]
  %.sink.ph = phi i8 [ %7, %1 ], [ %.sink.ph.ph, %.sink.split.sink.split.sink.split ]
  %65 = getelementptr inbounds i8, ptr %.sink9, i64 107416
  %66 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %65, i64 noundef %.sink8) #2
  store i8 %.sink5, ptr %66, align 1, !tbaa !99
  %67 = load ptr, ptr %2, align 8, !tbaa !5
  br label %.sink.split

.sink.split:                                      ; preds = %.sink.split.sink.split, %1
  %.sink4 = phi ptr [ %5, %1 ], [ %67, %.sink.split.sink.split ]
  %.sink3 = phi i64 [ 2, %1 ], [ %.sink3.ph, %.sink.split.sink.split ]
  %.sink = phi i8 [ %7, %1 ], [ %.sink.ph, %.sink.split.sink.split ]
  %68 = getelementptr inbounds i8, ptr %.sink4, i64 107416
  %69 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36) %68, i64 noundef %.sink3) #2
  store i8 %.sink, ptr %69, align 1, !tbaa !99
  br label %70

70:                                               ; preds = %.sink.split, %1
  ret void
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt5arrayIhLm36EE4fillERKh(ptr noundef nonnull align 1 dereferenceable(36), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm36EEixEm(ptr noundef nonnull align 1 dereferenceable(36), i64 noundef) local_unnamed_addr #1 align 2

attributes #0 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !7, i64 8}
!6 = !{!"_ZTS11BackendBase", !7, i64 8}
!7 = !{!"any pointer", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!11, !17, i64 16}
!11 = !{!"_ZTS10DeviceBase", !12, i64 0, !15, i64 1, !16, i64 4, !16, i64 8, !16, i64 12, !17, i64 16, !18, i64 17, !16, i64 20, !19, i64 24, !14, i64 28, !20, i64 29, !21, i64 30, !22, i64 32, !25, i64 64, !27, i64 72, !16, i64 76, !28, i64 80, !19, i64 84, !29, i64 88, !38, i64 240, !40, i64 248, !41, i64 256, !42, i64 264, !42, i64 1288, !43, i64 2320, !44, i64 84240, !45, i64 89552, !46, i64 93648, !47, i64 98000, !48, i64 107216, !52, i64 107240, !55, i64 107384, !56, i64 107400, !59, i64 107472, !65, i64 107480, !16, i64 107488, !66, i64 107496, !72, i64 107504, !78, i64 107512, !8, i64 107520, !84, i64 107536, !90, i64 107544, !19, i64 107552, !16, i64 107556, !38, i64 107560, !96, i64 107568}
!12 = !{!"_ZTSSt6atomicIbE", !13, i64 0}
!13 = !{!"_ZTSSt13__atomic_baseIbE", !14, i64 0}
!14 = !{!"bool", !8, i64 0}
!15 = !{!"_ZTS10DeviceType", !8, i64 0}
!16 = !{!"int", !8, i64 0}
!17 = !{!"_ZTS14DevFmtChannels", !8, i64 0}
!18 = !{!"_ZTS10DevFmtType", !8, i64 0}
!19 = !{!"float", !8, i64 0}
!20 = !{!"_ZTS13DevAmbiLayout", !8, i64 0}
!21 = !{!"_ZTS14DevAmbiScaling", !8, i64 0}
!22 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !23, i64 0, !24, i64 8, !8, i64 16}
!23 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !7, i64 0}
!24 = !{!"long", !8, i64 0}
!25 = !{!"_ZTSSt6bitsetILm6EE", !26, i64 0}
!26 = !{!"_ZTSSt12_Base_bitsetILm1EE", !24, i64 0}
!27 = !{!"_ZTS11DeviceState", !8, i64 0}
!28 = !{!"_ZTS10RenderMode", !8, i64 0}
!29 = !{!"_ZTS9NfcFilter", !30, i64 0, !32, i64 20, !34, i64 52, !36, i64 96}
!30 = !{!"_ZTS10NfcFilter1", !19, i64 0, !19, i64 4, !19, i64 8, !19, i64 12, !31, i64 16}
!31 = !{!"_ZTSSt5arrayIfLm1EE", !8, i64 0}
!32 = !{!"_ZTS10NfcFilter2", !19, i64 0, !19, i64 4, !19, i64 8, !19, i64 12, !19, i64 16, !19, i64 20, !33, i64 24}
!33 = !{!"_ZTSSt5arrayIfLm2EE", !8, i64 0}
!34 = !{!"_ZTS10NfcFilter3", !19, i64 0, !19, i64 4, !19, i64 8, !19, i64 12, !19, i64 16, !19, i64 20, !19, i64 24, !19, i64 28, !35, i64 32}
!35 = !{!"_ZTSSt5arrayIfLm3EE", !8, i64 0}
!36 = !{!"_ZTS10NfcFilter4", !19, i64 0, !19, i64 4, !19, i64 8, !19, i64 12, !19, i64 16, !19, i64 20, !19, i64 24, !19, i64 28, !19, i64 32, !19, i64 36, !37, i64 40}
!37 = !{!"_ZTSSt5arrayIfLm4EE", !8, i64 0}
!38 = !{!"_ZTSSt6atomicIjE", !39, i64 0}
!39 = !{!"_ZTSSt13__atomic_baseIjE", !16, i64 0}
!40 = !{!"_ZTSSt6atomicINSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEEE", !41, i64 0}
!41 = !{!"_ZTSNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE", !24, i64 0}
!42 = !{!"_ZTSSt5arrayIS_IfLm16EELm16EE", !8, i64 0}
!43 = !{!"_ZTSSt5arrayIfLm20480EE", !8, i64 0}
!44 = !{!"_ZTSSt5arrayIfLm1328EE", !8, i64 0}
!45 = !{!"_ZTSSt5arrayIfLm1024EE", !8, i64 0}
!46 = !{!"_ZTSSt5arrayIfLm1088EE", !8, i64 0}
!47 = !{!"_ZTSSt5arrayIS_IfLm2EELm1152EE", !8, i64 0}
!48 = !{!"_ZTSSt6vectorISt5arrayIfLm1024EEN2al9allocatorIS1_Lm16EEEE", !49, i64 0}
!49 = !{!"_ZTSSt12_Vector_baseISt5arrayIfLm1024EEN2al9allocatorIS1_Lm16EEEE", !50, i64 0}
!50 = !{!"_ZTSNSt12_Vector_baseISt5arrayIfLm1024EEN2al9allocatorIS1_Lm16EEEE12_Vector_implE", !51, i64 0}
!51 = !{!"_ZTSNSt12_Vector_baseISt5arrayIfLm1024EEN2al9allocatorIS1_Lm16EEEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!52 = !{!"_ZTS9MixParams", !53, i64 0, !54, i64 128}
!53 = !{!"_ZTSSt5arrayI15BFChannelConfigLm16EE", !8, i64 0}
!54 = !{!"_ZTSN2al4spanISt5arrayIfLm1024EELm18446744073709551615EEE", !7, i64 0, !24, i64 8}
!55 = !{!"_ZTSSt5arrayIjLm4EE", !8, i64 0}
!56 = !{!"_ZTS13RealMixParams", !57, i64 0, !58, i64 16, !54, i64 56}
!57 = !{!"_ZTSN2al4spanIK13InputRemixMapLm18446744073709551615EEE", !7, i64 0, !24, i64 8}
!58 = !{!"_ZTSSt5arrayIhLm36EE", !8, i64 0}
!59 = !{!"_ZTSSt10unique_ptrI15DirectHrtfStateSt14default_deleteIS0_EE", !60, i64 0}
!60 = !{!"_ZTSSt15__uniq_ptr_dataI15DirectHrtfStateSt14default_deleteIS0_ELb1ELb1EE", !61, i64 0}
!61 = !{!"_ZTSSt15__uniq_ptr_implI15DirectHrtfStateSt14default_deleteIS0_EE", !62, i64 0}
!62 = !{!"_ZTSSt5tupleIJP15DirectHrtfStateSt14default_deleteIS0_EEE", !63, i64 0}
!63 = !{!"_ZTSSt11_Tuple_implILm0EJP15DirectHrtfStateSt14default_deleteIS0_EEE", !64, i64 0}
!64 = !{!"_ZTSSt10_Head_baseILm0EP15DirectHrtfStateLb0EE", !7, i64 0}
!65 = !{!"_ZTSN2al13intrusive_ptrI9HrtfStoreEE", !7, i64 0}
!66 = !{!"_ZTSSt10unique_ptrI14UhjEncoderBaseSt14default_deleteIS0_EE", !67, i64 0}
!67 = !{!"_ZTSSt15__uniq_ptr_dataI14UhjEncoderBaseSt14default_deleteIS0_ELb1ELb1EE", !68, i64 0}
!68 = !{!"_ZTSSt15__uniq_ptr_implI14UhjEncoderBaseSt14default_deleteIS0_EE", !69, i64 0}
!69 = !{!"_ZTSSt5tupleIJP14UhjEncoderBaseSt14default_deleteIS0_EEE", !70, i64 0}
!70 = !{!"_ZTSSt11_Tuple_implILm0EJP14UhjEncoderBaseSt14default_deleteIS0_EEE", !71, i64 0}
!71 = !{!"_ZTSSt10_Head_baseILm0EP14UhjEncoderBaseLb0EE", !7, i64 0}
!72 = !{!"_ZTSSt10unique_ptrI10BFormatDecSt14default_deleteIS0_EE", !73, i64 0}
!73 = !{!"_ZTSSt15__uniq_ptr_dataI10BFormatDecSt14default_deleteIS0_ELb1ELb1EE", !74, i64 0}
!74 = !{!"_ZTSSt15__uniq_ptr_implI10BFormatDecSt14default_deleteIS0_EE", !75, i64 0}
!75 = !{!"_ZTSSt5tupleIJP10BFormatDecSt14default_deleteIS0_EEE", !76, i64 0}
!76 = !{!"_ZTSSt11_Tuple_implILm0EJP10BFormatDecSt14default_deleteIS0_EEE", !77, i64 0}
!77 = !{!"_ZTSSt10_Head_baseILm0EP10BFormatDecLb0EE", !7, i64 0}
!78 = !{!"_ZTSSt10unique_ptrIN4Bs2b4bs2bESt14default_deleteIS1_EE", !79, i64 0}
!79 = !{!"_ZTSSt15__uniq_ptr_dataIN4Bs2b4bs2bESt14default_deleteIS1_ELb1ELb1EE", !80, i64 0}
!80 = !{!"_ZTSSt15__uniq_ptr_implIN4Bs2b4bs2bESt14default_deleteIS1_EE", !81, i64 0}
!81 = !{!"_ZTSSt5tupleIJPN4Bs2b4bs2bESt14default_deleteIS1_EEE", !82, i64 0}
!82 = !{!"_ZTSSt11_Tuple_implILm0EJPN4Bs2b4bs2bESt14default_deleteIS1_EEE", !83, i64 0}
!83 = !{!"_ZTSSt10_Head_baseILm0EPN4Bs2b4bs2bELb0EE", !7, i64 0}
!84 = !{!"_ZTSSt10unique_ptrI10CompressorSt14default_deleteIS0_EE", !85, i64 0}
!85 = !{!"_ZTSSt15__uniq_ptr_dataI10CompressorSt14default_deleteIS0_ELb1ELb1EE", !86, i64 0}
!86 = !{!"_ZTSSt15__uniq_ptr_implI10CompressorSt14default_deleteIS0_EE", !87, i64 0}
!87 = !{!"_ZTSSt5tupleIJP10CompressorSt14default_deleteIS0_EEE", !88, i64 0}
!88 = !{!"_ZTSSt11_Tuple_implILm0EJP10CompressorSt14default_deleteIS0_EEE", !89, i64 0}
!89 = !{!"_ZTSSt10_Head_baseILm0EP10CompressorLb0EE", !7, i64 0}
!90 = !{!"_ZTSSt10unique_ptrI12DistanceCompSt14default_deleteIS0_EE", !91, i64 0}
!91 = !{!"_ZTSSt15__uniq_ptr_dataI12DistanceCompSt14default_deleteIS0_ELb1ELb1EE", !92, i64 0}
!92 = !{!"_ZTSSt15__uniq_ptr_implI12DistanceCompSt14default_deleteIS0_EE", !93, i64 0}
!93 = !{!"_ZTSSt5tupleIJP12DistanceCompSt14default_deleteIS0_EEE", !94, i64 0}
!94 = !{!"_ZTSSt11_Tuple_implILm0EJP12DistanceCompSt14default_deleteIS0_EEE", !95, i64 0}
!95 = !{!"_ZTSSt10_Head_baseILm0EP12DistanceCompLb0EE", !7, i64 0}
!96 = !{!"_ZTSN2al17atomic_unique_ptrINS_9FlexArrayIP11ContextBaseLm8EEESt14default_deleteIS4_EEE", !97, i64 0}
!97 = !{!"_ZTSSt6atomicIPN2al9FlexArrayIP11ContextBaseLm8EEEE", !98, i64 0}
!98 = !{!"_ZTSSt13__atomic_baseIPN2al9FlexArrayIP11ContextBaseLm8EEEE", !7, i64 0}
!99 = !{!8, !8, i64 0}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,InstCombinePass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass