; LLVM IR from GPUOpen-LibrariesAndSDKs/TAN :: tan/tanlibrary/src/clFFT-master/src/library/generator.transpose/ZN25clfft_t_2e004eb6 (716e37ac)

; 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.FFTKernelGenKeyParams = type { i64, [16 x i64], [16 x i64], [16 x i64], i32, i32, i32, i32, double, double, i64, i64, i64, i64, i8, i8, i8, i64, i8, i8, i8, i32, i64, i64, i32, i64, i64, i32, i8, %struct.clfftCallbackParam_, i8, %struct.clfftCallbackParam_, i64 }
%struct.clfftCallbackParam_ = type { i32, ptr, ptr }

@.str.32 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [130 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [5 x i8], align 1
@__PRETTY_FUNCTION__._ZN25clfft_transpose_generator44genTransposePrototypeLeadingDimensionBatchedERK18FFTKernelSignatureI21FFTKernelGenKeyParamsL15FFTActionImplID1EERKmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESF_SF_RNS8_18basic_stringstreamIcSB_SC_EERSD_SJ_ = external hidden unnamed_addr constant [271 x i8], align 1

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128), i64 noundef) #0

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN25clfft_transpose_generator44genTransposePrototypeLeadingDimensionBatchedERK18FFTKernelSignatureI21FFTKernelGenKeyParamsL15FFTActionImplID1EERKmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESF_SF_RNS8_18basic_stringstreamIcSB_SC_EERSD_SJ_(ptr noundef nonnull align 8 dereferenceable(600) %0, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(128) %5, ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) %7) #1 {
  %9 = alloca i32, align 4
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca ptr, align 8
  %14 = alloca ptr, align 8
  %15 = alloca ptr, align 8
  %16 = alloca ptr, align 8
  %17 = alloca ptr, align 8
  store ptr %0, ptr %10, align 8, !tbaa !5
  store ptr %1, ptr %11, align 8, !tbaa !5
  store ptr %2, ptr %12, align 8, !tbaa !5
  store ptr %3, ptr %13, align 8, !tbaa !5
  store ptr %4, ptr %14, align 8, !tbaa !5
  store ptr %5, ptr %15, align 8, !tbaa !5
  store ptr %6, ptr %16, align 8, !tbaa !5
  store ptr %7, ptr %17, align 8, !tbaa !5
  %18 = load ptr, ptr %15, align 8, !tbaa !5
  %19 = call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %18, i64 noundef 0)
  %20 = getelementptr inbounds i8, ptr %19, i64 16
  %21 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef @.str.32)
  %22 = load ptr, ptr %11, align 8, !tbaa !5
  %23 = load i64, ptr %22, align 8, !tbaa !9
  %24 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %21, i64 noundef %23)
  %25 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef @.str.33)
  %26 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %27 = load ptr, ptr %15, align 8, !tbaa !5
  %28 = call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %27, i64 noundef 0)
  %29 = getelementptr inbounds i8, ptr %28, i64 16
  %30 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef @.str.34)
  %31 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %32 = load ptr, ptr %15, align 8, !tbaa !5
  %33 = call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %32, i64 noundef 0)
  %34 = getelementptr inbounds i8, ptr %33, i64 16
  %35 = load ptr, ptr %14, align 8, !tbaa !5
  %36 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull align 8 dereferenceable(32) %35)
  %37 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef @.str.35)
  %38 = load ptr, ptr %10, align 8, !tbaa !5
  %39 = getelementptr inbounds i8, ptr %38, i64 8
  %40 = getelementptr inbounds %struct.FFTKernelGenKeyParams, ptr %39, i32 0, i32 5
  %41 = load i32, ptr %40, align 4, !tbaa !11
  switch i32 %41, label %89 [
    i32 1, label %42
    i32 2, label %56
    i32 3, label %74
    i32 4, label %74
    i32 5, label %75
  ]

42:                                               ; preds = %8
  %43 = load ptr, ptr %13, align 8, !tbaa !5
  %44 = load ptr, ptr %16, align 8, !tbaa !5
  %45 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 8 dereferenceable(32) %43)
  %46 = load ptr, ptr %13, align 8, !tbaa !5
  %47 = load ptr, ptr %17, align 8, !tbaa !5
  %48 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull align 8 dereferenceable(32) %46)
  %49 = load ptr, ptr %15, align 8, !tbaa !5
  %50 = call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %49, i64 noundef 0)
  %51 = getelementptr inbounds i8, ptr %50, i64 16
  %52 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %51, ptr noundef @.str.36)
  %53 = load ptr, ptr %16, align 8, !tbaa !5
  %54 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %52, ptr noundef nonnull align 8 dereferenceable(32) %53)
  %55 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %54, ptr noundef @.str.37)
  br label %90

56:                                               ; preds = %8
  %57 = load ptr, ptr %12, align 8, !tbaa !5
  %58 = load ptr, ptr %16, align 8, !tbaa !5
  %59 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull align 8 dereferenceable(32) %57)
  %60 = load ptr, ptr %12, align 8, !tbaa !5
  %61 = load ptr, ptr %17, align 8, !tbaa !5
  %62 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %60)
  %63 = load ptr, ptr %15, align 8, !tbaa !5
  %64 = call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %63, i64 noundef 0)
  %65 = getelementptr inbounds i8, ptr %64, i64 16
  %66 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %65, ptr noundef @.str.36)
  %67 = load ptr, ptr %16, align 8, !tbaa !5
  %68 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef nonnull align 8 dereferenceable(32) %67)
  %69 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef @.str.38)
  %70 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %69, ptr noundef @.str.39)
  %71 = load ptr, ptr %16, align 8, !tbaa !5
  %72 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %70, ptr noundef nonnull align 8 dereferenceable(32) %71)
  %73 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %72, ptr noundef @.str.40)
  br label %90

74:                                               ; preds = %8, %8
  store i32 4098, ptr %9, align 4
  br label %164

75:                                               ; preds = %8
  %76 = load ptr, ptr %12, align 8, !tbaa !5
  %77 = load ptr, ptr %16, align 8, !tbaa !5
  %78 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(32) %76)
  %79 = load ptr, ptr %12, align 8, !tbaa !5
  %80 = load ptr, ptr %17, align 8, !tbaa !5
  %81 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef nonnull align 8 dereferenceable(32) %79)
  %82 = load ptr, ptr %15, align 8, !tbaa !5
  %83 = call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %82, i64 noundef 0)
  %84 = getelementptr inbounds i8, ptr %83, i64 16
  %85 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %84, ptr noundef @.str.36)
  %86 = load ptr, ptr %16, align 8, !tbaa !5
  %87 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %85, ptr noundef nonnull align 8 dereferenceable(32) %86)
  %88 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %87, ptr noundef @.str.37)
  br label %90

89:                                               ; preds = %8
  store i32 4098, ptr %9, align 4
  br label %164

90:                                               ; preds = %75, %56, %42
  %91 = load ptr, ptr %10, align 8, !tbaa !5
  %92 = getelementptr inbounds i8, ptr %91, i64 8
  %93 = getelementptr inbounds %struct.FFTKernelGenKeyParams, ptr %92, i32 0, i32 28
  %94 = load i8, ptr %93, align 4, !tbaa !23, !range !24, !noundef !25
  %95 = trunc i8 %94 to i1
  br i1 %95, label %96, label %124

96:                                               ; preds = %90
  %97 = load ptr, ptr %10, align 8, !tbaa !5
  %98 = getelementptr inbounds i8, ptr %97, i64 8
  %99 = getelementptr inbounds %struct.FFTKernelGenKeyParams, ptr %98, i32 0, i32 30
  %100 = load i8, ptr %99, align 8, !tbaa !26, !range !24, !noundef !25
  %101 = trunc i8 %100 to i1
  %102 = xor i1 %101, true
  br i1 %102, label %103, label %104

103:                                              ; preds = %96
  br label %106

104:                                              ; preds = %96
  call void @__assert_fail(ptr noundef @.str.44, ptr noundef @.str.45, i32 noundef 293, ptr noundef @__PRETTY_FUNCTION__._ZN25clfft_transpose_generator44genTransposePrototypeLeadingDimensionBatchedERK18FFTKernelSignatureI21FFTKernelGenKeyParamsL15FFTActionImplID1EERKmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESF_SF_RNS8_18basic_stringstreamIcSB_SC_EERSD_SJ_) #3
  unreachable

105:                                              ; No predecessors!
  br label %106

106:                                              ; preds = %105, %103
  %107 = load ptr, ptr %10, align 8, !tbaa !5
  %108 = getelementptr inbounds i8, ptr %107, i64 8
  %109 = getelementptr inbounds %struct.FFTKernelGenKeyParams, ptr %108, i32 0, i32 29
  %110 = getelementptr inbounds %struct.clfftCallbackParam_, ptr %109, i32 0, i32 0
  %111 = load i32, ptr %110, align 8, !tbaa !27
  %112 = icmp sgt i32 %111, 0
  br i1 %112, label %113, label %118

113:                                              ; preds = %106
  %114 = load ptr, ptr %15, align 8, !tbaa !5
  %115 = call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %114, i64 noundef 0)
  %116 = getelementptr inbounds i8, ptr %115, i64 16
  %117 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %116, ptr noundef @.str.46)
  br label %123

118:                                              ; preds = %106
  %119 = load ptr, ptr %15, align 8, !tbaa !5
  %120 = call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %119, i64 noundef 0)
  %121 = getelementptr inbounds i8, ptr %120, i64 16
  %122 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %121, ptr noundef @.str.47)
  br label %123

123:                                              ; preds = %118, %113
  br label %124

124:                                              ; preds = %123, %90
  %125 = load ptr, ptr %10, align 8, !tbaa !5
  %126 = getelementptr inbounds i8, ptr %125, i64 8
  %127 = getelementptr inbounds %struct.FFTKernelGenKeyParams, ptr %126, i32 0, i32 30
  %128 = load i8, ptr %127, align 8, !tbaa !26, !range !24, !noundef !25
  %129 = trunc i8 %128 to i1
  br i1 %129, label %130, label %158

130:                                              ; preds = %124
  %131 = load ptr, ptr %10, align 8, !tbaa !5
  %132 = getelementptr inbounds i8, ptr %131, i64 8
  %133 = getelementptr inbounds %struct.FFTKernelGenKeyParams, ptr %132, i32 0, i32 28
  %134 = load i8, ptr %133, align 4, !tbaa !23, !range !24, !noundef !25
  %135 = trunc i8 %134 to i1
  %136 = xor i1 %135, true
  br i1 %136, label %137, label %138

137:                                              ; preds = %130
  br label %140

138:                                              ; preds = %130
  call void @__assert_fail(ptr noundef @.str.48, ptr noundef @.str.45, i32 noundef 305, ptr noundef @__PRETTY_FUNCTION__._ZN25clfft_transpose_generator44genTransposePrototypeLeadingDimensionBatchedERK18FFTKernelSignatureI21FFTKernelGenKeyParamsL15FFTActionImplID1EERKmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESF_SF_RNS8_18basic_stringstreamIcSB_SC_EERSD_SJ_) #3
  unreachable

139:                                              ; No predecessors!
  br label %140

140:                                              ; preds = %139, %137
  %141 = load ptr, ptr %10, align 8, !tbaa !5
  %142 = getelementptr inbounds i8, ptr %141, i64 8
  %143 = getelementptr inbounds %struct.FFTKernelGenKeyParams, ptr %142, i32 0, i32 31
  %144 = getelementptr inbounds %struct.clfftCallbackParam_, ptr %143, i32 0, i32 0
  %145 = load i32, ptr %144, align 8, !tbaa !28
  %146 = icmp sgt i32 %145, 0
  br i1 %146, label %147, label %152

147:                                              ; preds = %140
  %148 = load ptr, ptr %15, align 8, !tbaa !5
  %149 = call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %148, i64 noundef 0)
  %150 = getelementptr inbounds i8, ptr %149, i64 16
  %151 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %150, ptr noundef @.str.49)
  br label %157

152:                                              ; preds = %140
  %153 = load ptr, ptr %15, align 8, !tbaa !5
  %154 = call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %153, i64 noundef 0)
  %155 = getelementptr inbounds i8, ptr %154, i64 16
  %156 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %155, ptr noundef @.str.50)
  br label %157

157:                                              ; preds = %152, %147
  br label %158

158:                                              ; preds = %157, %124
  %159 = load ptr, ptr %15, align 8, !tbaa !5
  %160 = call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %159, i64 noundef 0)
  %161 = getelementptr inbounds i8, ptr %160, i64 16
  %162 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %161, ptr noundef @.str.51)
  %163 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %162, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  store i32 0, ptr %9, align 4
  br label %164

164:                                              ; preds = %158, %89, %74
  %165 = load i32, ptr %9, align 4
  ret i32 %165
}

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"long", !7, i64 0}
!11 = !{!12, !14, i64 396}
!12 = !{!"_ZTS21FFTKernelGenKeyParams", !10, i64 0, !7, i64 8, !7, i64 136, !7, i64 264, !13, i64 392, !14, i64 396, !14, i64 400, !15, i64 404, !16, i64 408, !16, i64 416, !10, i64 424, !10, i64 432, !10, i64 440, !10, i64 448, !17, i64 456, !17, i64 457, !17, i64 458, !10, i64 464, !17, i64 472, !17, i64 473, !17, i64 474, !18, i64 476, !10, i64 480, !10, i64 488, !19, i64 496, !10, i64 504, !10, i64 512, !20, i64 520, !17, i64 524, !21, i64 528, !17, i64 552, !21, i64 560, !10, i64 584}
!13 = !{!"_ZTS20clfftResultLocation_", !7, i64 0}
!14 = !{!"_ZTS12clfftLayout_", !7, i64 0}
!15 = !{!"_ZTS15clfftPrecision_", !7, i64 0}
!16 = !{!"double", !7, i64 0}
!17 = !{!"bool", !7, i64 0}
!18 = !{!"_ZTS16BlockComputeType", !7, i64 0}
!19 = !{!"_ZTS28NonSquareTransposeKernelType", !7, i64 0}
!20 = !{!"_ZTS23NON_SQUARE_KERNEL_ORDER", !7, i64 0}
!21 = !{!"_ZTS19clfftCallbackParam_", !22, i64 0, !6, i64 8, !6, i64 16}
!22 = !{!"int", !7, i64 0}
!23 = !{!12, !17, i64 524}
!24 = !{i8 0, i8 2}
!25 = !{}
!26 = !{!12, !17, i64 552}
!27 = !{!12, !22, i64 528}
!28 = !{!12, !22, i64 560}


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

@.str.32 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [130 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [5 x i8], align 1
@__PRETTY_FUNCTION__._ZN25clfft_transpose_generator44genTransposePrototypeLeadingDimensionBatchedERK18FFTKernelSignatureI21FFTKernelGenKeyParamsL15FFTActionImplID1EERKmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESF_SF_RNS8_18basic_stringstreamIcSB_SC_EERSD_SJ_ = external hidden unnamed_addr constant [271 x i8], align 1

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128), i64 noundef) local_unnamed_addr #0

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef range(i32 0, 4099) i32 @_ZN25clfft_transpose_generator44genTransposePrototypeLeadingDimensionBatchedERK18FFTKernelSignatureI21FFTKernelGenKeyParamsL15FFTActionImplID1EERKmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESF_SF_RNS8_18basic_stringstreamIcSB_SC_EERSD_SJ_(ptr nocapture noundef nonnull readonly align 8 dereferenceable(600) %0, ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %1, ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(128) %5, ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) %7) local_unnamed_addr #1 {
  %9 = tail call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %5, i64 noundef 0)
  %10 = getelementptr inbounds i8, ptr %9, i64 16
  %11 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull @.str.32)
  %12 = load i64, ptr %1, align 8, !tbaa !5
  %13 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %11, i64 noundef %12)
  %14 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull @.str.33)
  %15 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %16 = tail call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %5, i64 noundef 0)
  %17 = getelementptr inbounds i8, ptr %16, i64 16
  %18 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull @.str.34)
  %19 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %20 = tail call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %5, i64 noundef 0)
  %21 = getelementptr inbounds i8, ptr %20, i64 16
  %22 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(32) %4)
  %23 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull @.str.35)
  %24 = getelementptr inbounds i8, ptr %0, i64 404
  %25 = load i32, ptr %24, align 4, !tbaa !9
  switch i32 %25, label %83 [
    i32 1, label %26
    i32 2, label %32
    i32 5, label %41
  ]

26:                                               ; preds = %8
  %27 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) %3)
  %28 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %3)
  %29 = tail call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %5, i64 noundef 0)
  %30 = getelementptr inbounds i8, ptr %29, i64 16
  %31 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull @.str.36)
  br label %47

32:                                               ; preds = %8
  %33 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) %2)
  %34 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %2)
  %35 = tail call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %5, i64 noundef 0)
  %36 = getelementptr inbounds i8, ptr %35, i64 16
  %37 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef nonnull @.str.36)
  %38 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef nonnull align 8 dereferenceable(32) %6)
  %39 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef nonnull @.str.38)
  %40 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %39, ptr noundef nonnull @.str.39)
  br label %47

41:                                               ; preds = %8
  %42 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) %2)
  %43 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %2)
  %44 = tail call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %5, i64 noundef 0)
  %45 = getelementptr inbounds i8, ptr %44, i64 16
  %46 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef nonnull @.str.36)
  br label %47

47:                                               ; preds = %41, %32, %26
  %.sink36 = phi ptr [ %46, %41 ], [ %40, %32 ], [ %31, %26 ]
  %.str.37.sink = phi ptr [ @.str.37, %41 ], [ @.str.40, %32 ], [ @.str.37, %26 ]
  %48 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %.sink36, ptr noundef nonnull align 8 dereferenceable(32) %6)
  %49 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %48, ptr noundef nonnull %.str.37.sink)
  %50 = getelementptr inbounds i8, ptr %0, i64 532
  %51 = load i8, ptr %50, align 4, !tbaa !22, !range !23, !noundef !24
  %52 = trunc nuw i8 %51 to i1
  br i1 %52, label %53, label %64

53:                                               ; preds = %47
  %54 = getelementptr inbounds i8, ptr %0, i64 560
  %55 = load i8, ptr %54, align 8, !tbaa !25, !range !23, !noundef !24
  %56 = trunc nuw i8 %55 to i1
  br i1 %56, label %57, label %.sink.split

57:                                               ; preds = %53
  tail call void @__assert_fail(ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.45, i32 noundef 293, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN25clfft_transpose_generator44genTransposePrototypeLeadingDimensionBatchedERK18FFTKernelSignatureI21FFTKernelGenKeyParamsL15FFTActionImplID1EERKmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESF_SF_RNS8_18basic_stringstreamIcSB_SC_EERSD_SJ_) #3
  unreachable

.sink.split:                                      ; preds = %53
  %58 = getelementptr inbounds i8, ptr %0, i64 536
  %59 = load i32, ptr %58, align 8, !tbaa !26
  %60 = icmp sgt i32 %59, 0
  %61 = tail call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %5, i64 noundef 0)
  %62 = getelementptr inbounds i8, ptr %61, i64 16
  %.str.46..str.47 = select i1 %60, ptr @.str.46, ptr @.str.47
  %63 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %62, ptr noundef nonnull %.str.46..str.47)
  br label %64

64:                                               ; preds = %.sink.split, %47
  %65 = getelementptr inbounds i8, ptr %0, i64 560
  %66 = load i8, ptr %65, align 8, !tbaa !25, !range !23, !noundef !24
  %67 = trunc nuw i8 %66 to i1
  br i1 %67, label %68, label %78

68:                                               ; preds = %64
  %69 = load i8, ptr %50, align 4, !tbaa !22, !range !23, !noundef !24
  %70 = trunc nuw i8 %69 to i1
  br i1 %70, label %71, label %.sink.split37

71:                                               ; preds = %68
  tail call void @__assert_fail(ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.45, i32 noundef 305, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN25clfft_transpose_generator44genTransposePrototypeLeadingDimensionBatchedERK18FFTKernelSignatureI21FFTKernelGenKeyParamsL15FFTActionImplID1EERKmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESF_SF_RNS8_18basic_stringstreamIcSB_SC_EERSD_SJ_) #3
  unreachable

.sink.split37:                                    ; preds = %68
  %72 = getelementptr inbounds i8, ptr %0, i64 568
  %73 = load i32, ptr %72, align 8, !tbaa !27
  %74 = icmp sgt i32 %73, 0
  %75 = tail call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %5, i64 noundef 0)
  %76 = getelementptr inbounds i8, ptr %75, i64 16
  %.str.49..str.50 = select i1 %74, ptr @.str.49, ptr @.str.50
  %77 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %76, ptr noundef nonnull %.str.49..str.50)
  br label %78

78:                                               ; preds = %.sink.split37, %64
  %79 = tail call noundef nonnull align 8 dereferenceable(128) ptr @_Z11clKernWriteRNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(128) %5, i64 noundef 0)
  %80 = getelementptr inbounds i8, ptr %79, i64 16
  %81 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %80, ptr noundef nonnull @.str.51)
  %82 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %81, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %83

83:                                               ; preds = %8, %78
  %.0 = phi i32 [ 0, %78 ], [ 4098, %8 ]
  ret i32 %.0
}

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"long", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !12, i64 396}
!10 = !{!"_ZTS21FFTKernelGenKeyParams", !6, i64 0, !7, i64 8, !7, i64 136, !7, i64 264, !11, i64 392, !12, i64 396, !12, i64 400, !13, i64 404, !14, i64 408, !14, i64 416, !6, i64 424, !6, i64 432, !6, i64 440, !6, i64 448, !15, i64 456, !15, i64 457, !15, i64 458, !6, i64 464, !15, i64 472, !15, i64 473, !15, i64 474, !16, i64 476, !6, i64 480, !6, i64 488, !17, i64 496, !6, i64 504, !6, i64 512, !18, i64 520, !15, i64 524, !19, i64 528, !15, i64 552, !19, i64 560, !6, i64 584}
!11 = !{!"_ZTS20clfftResultLocation_", !7, i64 0}
!12 = !{!"_ZTS12clfftLayout_", !7, i64 0}
!13 = !{!"_ZTS15clfftPrecision_", !7, i64 0}
!14 = !{!"double", !7, i64 0}
!15 = !{!"bool", !7, i64 0}
!16 = !{!"_ZTS16BlockComputeType", !7, i64 0}
!17 = !{!"_ZTS28NonSquareTransposeKernelType", !7, i64 0}
!18 = !{!"_ZTS23NON_SQUARE_KERNEL_ORDER", !7, i64 0}
!19 = !{!"_ZTS19clfftCallbackParam_", !20, i64 0, !21, i64 8, !21, i64 16}
!20 = !{!"int", !7, i64 0}
!21 = !{!"any pointer", !7, i64 0}
!22 = !{!10, !15, i64 524}
!23 = !{i8 0, i8 2}
!24 = !{}
!25 = !{!10, !15, i64 552}
!26 = !{!10, !20, i64 528}
!27 = !{!10, !20, i64 560}


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