; ModuleID = 'TVMMod'
source_filename = "TVMMod"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-linux-gnu"

%0 = type { double }
%1 = type { i8*, %2, i32, %3, i64*, i64*, i64 }
%2 = type { i32, i32 }
%3 = type { i8, i8, i16 }

@__tvm_module_ctx = linkonce dllexport local_unnamed_addr global i8* null, align 8
@__TVMFuncCall = linkonce dllexport local_unnamed_addr global i32 (i8*, %0*, i32*, i32, %0*, i32*)* null, align 8
@__TVMBackendGetFuncFromEnv = linkonce dllexport local_unnamed_addr global i32 (i8*, i8*, i8**)* null, align 8
@__TVMAPISetLastError = linkonce dllexport local_unnamed_addr global void (i8*)* null, align 8
@.str = private constant [69 x i8] c"Assert fail: num_args == 27, default_function: num_args should be 27\00", align 1
@.str.1 = private constant [122 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[0] to be pointer\00", align 1
@.str.2 = private constant [122 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[1] to be pointer\00", align 1
@.str.3 = private constant [122 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[2] to be pointer\00", align 1
@.str.4 = private constant [122 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[3] to be pointer\00", align 1
@.str.5 = private constant [122 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[4] to be pointer\00", align 1
@.str.6 = private constant [122 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[5] to be pointer\00", align 1
@.str.7 = private constant [122 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[6] to be pointer\00", align 1
@.str.8 = private constant [122 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[7] to be pointer\00", align 1
@.str.9 = private constant [122 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[8] to be pointer\00", align 1
@.str.10 = private constant [122 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[9] to be pointer\00", align 1
@.str.11 = private constant [123 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[10] to be pointer\00", align 1
@.str.12 = private constant [123 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[11] to be pointer\00", align 1
@.str.13 = private constant [123 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[12] to be pointer\00", align 1
@.str.14 = private constant [123 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[13] to be pointer\00", align 1
@.str.15 = private constant [123 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[14] to be pointer\00", align 1
@.str.16 = private constant [123 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[15] to be pointer\00", align 1
@.str.17 = private constant [123 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[16] to be pointer\00", align 1
@.str.18 = private constant [123 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[17] to be pointer\00", align 1
@.str.19 = private constant [123 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[18] to be pointer\00", align 1
@.str.20 = private constant [123 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[19] to be pointer\00", align 1
@.str.21 = private constant [123 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[20] to be pointer\00", align 1
@.str.22 = private constant [123 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[21] to be pointer\00", align 1
@.str.23 = private constant [123 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[22] to be pointer\00", align 1
@.str.24 = private constant [123 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[23] to be pointer\00", align 1
@.str.25 = private constant [123 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[24] to be pointer\00", align 1
@.str.26 = private constant [123 x i8] c"Assert fail: ph_code == 3 or ph_code == 13 or ph_code == 7 or ph_code == 4, default_function: Expect arg[25] to be pointer\00", align 1
@.str.27 = private constant [147 x i8] c"Assert fail: T_concat_code == 3 or T_concat_code == 13 or T_concat_code == 7 or T_concat_code == 4, default_function: Expect arg[26] to be pointer\00", align 1
@.str.28 = private constant [103 x i8] c"Assert fail: 4 == T.tvm_struct_get(ph, 0, 4, \22int32\22), default_function.ph.ndim is expected to equal 4\00", align 1
@.str.29 = private constant [227 x i8] c"Assert fail: T.tvm_struct_get(ph, 0, 5, \22uint8\22) == T.uint8(2) and T.tvm_struct_get(ph, 0, 6, \22uint8\22) == T.uint8(32) and T.tvm_struct_get(ph, 0, 7, \22uint16\22) == T.uint16(1), default_function.ph.dtype is expected to be float32\00", align 1
@.str.30 = private constant [185 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_ph_shape[0]) == 1, Argument default_function.ph.shape[0] has an unsatisfied constraint: 1 == T.Cast(\22int32\22, default_function_ph_shape[0])\00", align 1
@.str.31 = private constant [185 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_ph_shape[1]) == 3, Argument default_function.ph.shape[1] has an unsatisfied constraint: 3 == T.Cast(\22int32\22, default_function_ph_shape[1])\00", align 1
@.str.32 = private constant [189 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_ph_shape[2]) == 128, Argument default_function.ph.shape[2] has an unsatisfied constraint: 128 == T.Cast(\22int32\22, default_function_ph_shape[2])\00", align 1
@.str.33 = private constant [189 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_ph_shape[3]) == 128, Argument default_function.ph.shape[3] has an unsatisfied constraint: 128 == T.Cast(\22int32\22, default_function_ph_shape[3])\00", align 1
@.str.34 = private constant [245 x i8] c"Assert fail: 1 == T.Cast(\22int32\22, default_function_ph_strides[3]) and 128 == T.Cast(\22int32\22, default_function_ph_strides[2]) and 16384 == T.Cast(\22int32\22, default_function_ph_strides[1]), default_function.ph.strides: expected to be compact array\00", align 1
@.str.35 = private constant [190 x i8] c"Assert fail: T.uint64(0) == T.tvm_struct_get(ph, 0, 8, \22uint64\22), Argument default_function.ph.byte_offset has an unsatisfied constraint: T.uint64(0) == T.tvm_struct_get(ph, 0, 8, \22uint64\22)\00", align 1
@.str.36 = private constant [170 x i8] c"Assert fail: T.tvm_struct_get(ph, 0, 10, \22int32\22) == 1, Argument default_function.ph.device_type has an unsatisfied constraint: 1 == T.tvm_struct_get(ph, 0, 10, \22int32\22)\00", align 1
@.str.37 = private constant [187 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_ph_shape[1]) == 96, Argument default_function.ph.shape[1] has an unsatisfied constraint: 96 == T.Cast(\22int32\22, default_function_ph_shape[1])\00", align 1
@.str.38 = private constant [185 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_ph_shape[2]) == 7, Argument default_function.ph.shape[2] has an unsatisfied constraint: 7 == T.Cast(\22int32\22, default_function_ph_shape[2])\00", align 1
@.str.39 = private constant [185 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_ph_shape[3]) == 7, Argument default_function.ph.shape[3] has an unsatisfied constraint: 7 == T.Cast(\22int32\22, default_function_ph_shape[3])\00", align 1
@.str.40 = private constant [240 x i8] c"Assert fail: 1 == T.Cast(\22int32\22, default_function_ph_strides[3]) and 7 == T.Cast(\22int32\22, default_function_ph_strides[2]) and 49 == T.Cast(\22int32\22, default_function_ph_strides[1]), default_function.ph.strides: expected to be compact array\00", align 1
@.str.41 = private constant [176 x i8] c"Assert fail: dev_id == T.tvm_struct_get(ph, 0, 9, \22int32\22), Argument default_function.ph.device_id has an unsatisfied constraint: dev_id == T.tvm_struct_get(ph, 0, 9, \22int32\22)\00", align 1
@.str.42 = private constant [187 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_ph_shape[1]) == 16, Argument default_function.ph.shape[1] has an unsatisfied constraint: 16 == T.Cast(\22int32\22, default_function_ph_shape[1])\00", align 1
@.str.43 = private constant [185 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_ph_shape[2]) == 1, Argument default_function.ph.shape[2] has an unsatisfied constraint: 1 == T.Cast(\22int32\22, default_function_ph_shape[2])\00", align 1
@.str.44 = private constant [185 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_ph_shape[3]) == 1, Argument default_function.ph.shape[3] has an unsatisfied constraint: 1 == T.Cast(\22int32\22, default_function_ph_shape[3])\00", align 1
@.str.45 = private constant [125 x i8] c"Assert fail: 1 == T.Cast(\22int32\22, default_function_ph_strides[1]), default_function.ph.strides: expected to be compact array\00", align 1
@.str.46 = private constant [187 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_ph_shape[1]) == 64, Argument default_function.ph.shape[1] has an unsatisfied constraint: 64 == T.Cast(\22int32\22, default_function_ph_shape[1])\00", align 1
@.str.47 = private constant [185 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_ph_shape[2]) == 3, Argument default_function.ph.shape[2] has an unsatisfied constraint: 3 == T.Cast(\22int32\22, default_function_ph_shape[2])\00", align 1
@.str.48 = private constant [185 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_ph_shape[3]) == 3, Argument default_function.ph.shape[3] has an unsatisfied constraint: 3 == T.Cast(\22int32\22, default_function_ph_shape[3])\00", align 1
@.str.49 = private constant [239 x i8] c"Assert fail: 1 == T.Cast(\22int32\22, default_function_ph_strides[3]) and 3 == T.Cast(\22int32\22, default_function_ph_strides[2]) and 9 == T.Cast(\22int32\22, default_function_ph_strides[1]), default_function.ph.strides: expected to be compact array\00", align 1
@.str.50 = private constant [187 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_ph_shape[1]) == 32, Argument default_function.ph.shape[1] has an unsatisfied constraint: 32 == T.Cast(\22int32\22, default_function_ph_shape[1])\00", align 1
@.str.51 = private constant [189 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_ph_shape[1]) == 128, Argument default_function.ph.shape[1] has an unsatisfied constraint: 128 == T.Cast(\22int32\22, default_function_ph_shape[1])\00", align 1
@.str.52 = private constant [187 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_ph_shape[1]) == 48, Argument default_function.ph.shape[1] has an unsatisfied constraint: 48 == T.Cast(\22int32\22, default_function_ph_shape[1])\00", align 1
@.str.53 = private constant [189 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_ph_shape[1]) == 192, Argument default_function.ph.shape[1] has an unsatisfied constraint: 192 == T.Cast(\22int32\22, default_function_ph_shape[1])\00", align 1
@.str.54 = private constant [189 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_ph_shape[1]) == 256, Argument default_function.ph.shape[1] has an unsatisfied constraint: 256 == T.Cast(\22int32\22, default_function_ph_shape[1])\00", align 1
@.str.55 = private constant [115 x i8] c"Assert fail: 4 == T.tvm_struct_get(T_concat, 0, 4, \22int32\22), default_function.T_concat.ndim is expected to equal 4\00", align 1
@.str.56 = private constant [251 x i8] c"Assert fail: T.tvm_struct_get(T_concat, 0, 5, \22uint8\22) == T.uint8(2) and T.tvm_struct_get(T_concat, 0, 6, \22uint8\22) == T.uint8(32) and T.tvm_struct_get(T_concat, 0, 7, \22uint16\22) == T.uint16(1), default_function.T_concat.dtype is expected to be float32\00", align 1
@.str.57 = private constant [203 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_T_concat_shape[0]) == 1, Argument default_function.T_concat.shape[0] has an unsatisfied constraint: 1 == T.Cast(\22int32\22, default_function_T_concat_shape[0])\00", align 1
@.str.58 = private constant [203 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_T_concat_shape[1]) == 2, Argument default_function.T_concat.shape[1] has an unsatisfied constraint: 2 == T.Cast(\22int32\22, default_function_T_concat_shape[1])\00", align 1
@.str.59 = private constant [207 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_T_concat_shape[2]) == 122, Argument default_function.T_concat.shape[2] has an unsatisfied constraint: 122 == T.Cast(\22int32\22, default_function_T_concat_shape[2])\00", align 1
@.str.60 = private constant [207 x i8] c"Assert fail: T.Cast(\22int32\22, default_function_T_concat_shape[3]) == 122, Argument default_function.T_concat.shape[3] has an unsatisfied constraint: 122 == T.Cast(\22int32\22, default_function_T_concat_shape[3])\00", align 1
@.str.61 = private constant [269 x i8] c"Assert fail: 1 == T.Cast(\22int32\22, default_function_T_concat_strides[3]) and 122 == T.Cast(\22int32\22, default_function_T_concat_strides[2]) and 14884 == T.Cast(\22int32\22, default_function_T_concat_strides[1]), default_function.T_concat.strides: expected to be compact array\00", align 1
@.str.62 = private constant [208 x i8] c"Assert fail: T.uint64(0) == T.tvm_struct_get(T_concat, 0, 8, \22uint64\22), Argument default_function.T_concat.byte_offset has an unsatisfied constraint: T.uint64(0) == T.tvm_struct_get(T_concat, 0, 8, \22uint64\22)\00", align 1
@.str.63 = private constant [188 x i8] c"Assert fail: T.tvm_struct_get(T_concat, 0, 10, \22int32\22) == 1, Argument default_function.T_concat.device_type has an unsatisfied constraint: 1 == T.tvm_struct_get(T_concat, 0, 10, \22int32\22)\00", align 1
@.str.64 = private constant [194 x i8] c"Assert fail: dev_id == T.tvm_struct_get(T_concat, 0, 9, \22int32\22), Argument default_function.T_concat.device_id has an unsatisfied constraint: dev_id == T.tvm_struct_get(T_concat, 0, 9, \22int32\22)\00", align 1
@.tvm_func.default_function_kernel = internal unnamed_addr global i8* null, align 8
@.str.65 = private constant [24 x i8] c"default_function_kernel\00", align 1
@.str.66 = private constant [68 x i8] c"Assert fail: kernel_error_code == 0, Error executing compute kernel\00", align 1
@__tvm_main__ = weak dllexport local_unnamed_addr constant [17 x i8] c"default_function\00", align 1
@llvm.global_ctors = appending global [0 x { i32, void ()*, i8* }] zeroinitializer

define dllexport i32 @default_function(i8* noalias readonly %args, i32* noalias readonly %arg_type_ids, i32 %num_args, i8* noalias nocapture readnone %out_ret_value, i32* noalias nocapture readnone %out_ret_tcode, i8* noalias nocapture readnone %resource_handle) local_unnamed_addr #0 !dbg !5 {
entry:
  call void @llvm.dbg.value(metadata i8* %args, metadata !12, metadata !DIExpression()), !dbg !18
  call void @llvm.dbg.value(metadata i32* %arg_type_ids, metadata !13, metadata !DIExpression()), !dbg !18
  call void @llvm.dbg.value(metadata i32 %num_args, metadata !14, metadata !DIExpression()), !dbg !18
  call void @llvm.dbg.value(metadata i8* %out_ret_value, metadata !15, metadata !DIExpression()), !dbg !18
  call void @llvm.dbg.value(metadata i32* %out_ret_tcode, metadata !16, metadata !DIExpression()), !dbg !18
  call void @llvm.dbg.value(metadata i8* %resource_handle, metadata !17, metadata !DIExpression()), !dbg !18
  %stack_value_void_ptr956 = alloca [28 x %0], align 8, !dbg !18
  %stack_tcode957 = alloca [28 x i32], align 4, !dbg !18
  %stack_tcode957.sub = getelementptr inbounds [28 x i32], [28 x i32]* %stack_tcode957, i64 0, i64 0
  %stack_value = bitcast [28 x %0]* %stack_value_void_ptr956 to i8*, !dbg !18
  %0 = icmp eq i32 %num_args, 27, !dbg !18
  br i1 %0, label %assert_end, label %assert_fail, !dbg !18, !prof !19

assert_fail:                                      ; preds = %entry
  %1 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end:                                       ; preds = %entry
  %ph.code = load i32, i32* %arg_type_ids, align 4, !dbg !18, !tbaa !23
  %2 = getelementptr inbounds i32, i32* %arg_type_ids, i64 1, !dbg !18
  %ph.code1 = load i32, i32* %2, align 4, !dbg !18, !tbaa !34
  %3 = getelementptr inbounds i32, i32* %arg_type_ids, i64 2, !dbg !18
  %ph.code2 = load i32, i32* %3, align 4, !dbg !18, !tbaa !36
  %4 = getelementptr inbounds i32, i32* %arg_type_ids, i64 3, !dbg !18
  %ph.code3 = load i32, i32* %4, align 4, !dbg !18, !tbaa !39
  %5 = getelementptr inbounds i32, i32* %arg_type_ids, i64 4, !dbg !18
  %ph.code4 = load i32, i32* %5, align 4, !dbg !18, !tbaa !41
  %6 = getelementptr inbounds i32, i32* %arg_type_ids, i64 5, !dbg !18
  %ph.code5 = load i32, i32* %6, align 4, !dbg !18, !tbaa !45
  %7 = getelementptr inbounds i32, i32* %arg_type_ids, i64 6, !dbg !18
  %ph.code6 = load i32, i32* %7, align 4, !dbg !18, !tbaa !47
  %8 = getelementptr inbounds i32, i32* %arg_type_ids, i64 7, !dbg !18
  %ph.code7 = load i32, i32* %8, align 4, !dbg !18, !tbaa !50
  %9 = getelementptr inbounds i32, i32* %arg_type_ids, i64 8, !dbg !18
  %ph.code8 = load i32, i32* %9, align 4, !dbg !18, !tbaa !52
  %10 = getelementptr inbounds i32, i32* %arg_type_ids, i64 9, !dbg !18
  %ph.code9 = load i32, i32* %10, align 4, !dbg !18, !tbaa !57
  %11 = getelementptr inbounds i32, i32* %arg_type_ids, i64 10, !dbg !18
  %ph.code10 = load i32, i32* %11, align 4, !dbg !18, !tbaa !59
  %12 = getelementptr inbounds i32, i32* %arg_type_ids, i64 11, !dbg !18
  %ph.code11 = load i32, i32* %12, align 4, !dbg !18, !tbaa !62
  %13 = getelementptr inbounds i32, i32* %arg_type_ids, i64 12, !dbg !18
  %ph.code12 = load i32, i32* %13, align 4, !dbg !18, !tbaa !64
  %14 = getelementptr inbounds i32, i32* %arg_type_ids, i64 13, !dbg !18
  %ph.code13 = load i32, i32* %14, align 4, !dbg !18, !tbaa !68
  %15 = getelementptr inbounds i32, i32* %arg_type_ids, i64 14, !dbg !18
  %ph.code14 = load i32, i32* %15, align 4, !dbg !18, !tbaa !70
  %16 = getelementptr inbounds i32, i32* %arg_type_ids, i64 15, !dbg !18
  %ph.code15 = load i32, i32* %16, align 4, !dbg !18, !tbaa !73
  %17 = getelementptr inbounds i32, i32* %arg_type_ids, i64 16, !dbg !18
  %ph.code16 = load i32, i32* %17, align 4, !dbg !18, !tbaa !75
  %18 = getelementptr inbounds i32, i32* %arg_type_ids, i64 17, !dbg !18
  %ph.code17 = load i32, i32* %18, align 4, !dbg !18, !tbaa !81
  %19 = getelementptr inbounds i32, i32* %arg_type_ids, i64 18, !dbg !18
  %ph.code18 = load i32, i32* %19, align 4, !dbg !18, !tbaa !83
  %20 = getelementptr inbounds i32, i32* %arg_type_ids, i64 19, !dbg !18
  %ph.code19 = load i32, i32* %20, align 4, !dbg !18, !tbaa !86
  %21 = getelementptr inbounds i32, i32* %arg_type_ids, i64 20, !dbg !18
  %ph.code20 = load i32, i32* %21, align 4, !dbg !18, !tbaa !88
  %22 = getelementptr inbounds i32, i32* %arg_type_ids, i64 21, !dbg !18
  %ph.code21 = load i32, i32* %22, align 4, !dbg !18, !tbaa !92
  %23 = getelementptr inbounds i32, i32* %arg_type_ids, i64 22, !dbg !18
  %ph.code22 = load i32, i32* %23, align 4, !dbg !18, !tbaa !94
  %24 = getelementptr inbounds i32, i32* %arg_type_ids, i64 23, !dbg !18
  %ph.code23 = load i32, i32* %24, align 4, !dbg !18, !tbaa !97
  %25 = getelementptr inbounds i32, i32* %arg_type_ids, i64 24, !dbg !18
  %ph.code24 = load i32, i32* %25, align 4, !dbg !18, !tbaa !99
  %26 = getelementptr inbounds i32, i32* %arg_type_ids, i64 25, !dbg !18
  %ph.code25 = load i32, i32* %26, align 4, !dbg !18, !tbaa !104
  %27 = getelementptr inbounds i32, i32* %arg_type_ids, i64 26, !dbg !18
  %T_concat.code = load i32, i32* %27, align 4, !dbg !18, !tbaa !106
  %28 = bitcast i8* %args to %1**, !dbg !18
  %ph958 = load %1*, %1** %28, align 8, !dbg !18
  %29 = getelementptr inbounds i8, i8* %args, i64 8, !dbg !18
  %30 = bitcast i8* %29 to %1**, !dbg !18
  %ph26959 = load %1*, %1** %30, align 8, !dbg !18
  %31 = getelementptr inbounds i8, i8* %args, i64 16, !dbg !18
  %32 = bitcast i8* %31 to %1**, !dbg !18
  %ph27960 = load %1*, %1** %32, align 8, !dbg !18
  %33 = getelementptr inbounds i8, i8* %args, i64 24, !dbg !18
  %34 = bitcast i8* %33 to %1**, !dbg !18
  %ph28961 = load %1*, %1** %34, align 8, !dbg !18
  %35 = getelementptr inbounds i8, i8* %args, i64 32, !dbg !18
  %36 = bitcast i8* %35 to %1**, !dbg !18
  %ph29962 = load %1*, %1** %36, align 8, !dbg !18
  %37 = getelementptr inbounds i8, i8* %args, i64 40, !dbg !18
  %38 = bitcast i8* %37 to %1**, !dbg !18
  %ph30963 = load %1*, %1** %38, align 8, !dbg !18
  %39 = getelementptr inbounds i8, i8* %args, i64 48, !dbg !18
  %40 = bitcast i8* %39 to %1**, !dbg !18
  %ph31964 = load %1*, %1** %40, align 8, !dbg !18
  %41 = getelementptr inbounds i8, i8* %args, i64 56, !dbg !18
  %42 = bitcast i8* %41 to %1**, !dbg !18
  %ph32965 = load %1*, %1** %42, align 8, !dbg !18
  %43 = getelementptr inbounds i8, i8* %args, i64 64, !dbg !18
  %44 = bitcast i8* %43 to %1**, !dbg !18
  %ph33966 = load %1*, %1** %44, align 8, !dbg !18
  %45 = getelementptr inbounds i8, i8* %args, i64 72, !dbg !18
  %46 = bitcast i8* %45 to %1**, !dbg !18
  %ph34967 = load %1*, %1** %46, align 8, !dbg !18
  %47 = getelementptr inbounds i8, i8* %args, i64 80, !dbg !18
  %48 = bitcast i8* %47 to %1**, !dbg !18
  %ph35968 = load %1*, %1** %48, align 8, !dbg !18
  %49 = getelementptr inbounds i8, i8* %args, i64 88, !dbg !18
  %50 = bitcast i8* %49 to %1**, !dbg !18
  %ph36969 = load %1*, %1** %50, align 8, !dbg !18
  %51 = getelementptr inbounds i8, i8* %args, i64 96, !dbg !18
  %52 = bitcast i8* %51 to %1**, !dbg !18
  %ph37970 = load %1*, %1** %52, align 8, !dbg !18
  %53 = getelementptr inbounds i8, i8* %args, i64 104, !dbg !18
  %54 = bitcast i8* %53 to %1**, !dbg !18
  %ph38971 = load %1*, %1** %54, align 8, !dbg !18
  %55 = getelementptr inbounds i8, i8* %args, i64 112, !dbg !18
  %56 = bitcast i8* %55 to %1**, !dbg !18
  %ph39972 = load %1*, %1** %56, align 8, !dbg !18
  %57 = getelementptr inbounds i8, i8* %args, i64 120, !dbg !18
  %58 = bitcast i8* %57 to %1**, !dbg !18
  %ph40973 = load %1*, %1** %58, align 8, !dbg !18
  %59 = getelementptr inbounds i8, i8* %args, i64 128, !dbg !18
  %60 = bitcast i8* %59 to %1**, !dbg !18
  %ph41974 = load %1*, %1** %60, align 8, !dbg !18
  %61 = getelementptr inbounds i8, i8* %args, i64 136, !dbg !18
  %62 = bitcast i8* %61 to %1**, !dbg !18
  %ph42975 = load %1*, %1** %62, align 8, !dbg !18
  %63 = getelementptr inbounds i8, i8* %args, i64 144, !dbg !18
  %64 = bitcast i8* %63 to %1**, !dbg !18
  %ph43976 = load %1*, %1** %64, align 8, !dbg !18
  %65 = getelementptr inbounds i8, i8* %args, i64 152, !dbg !18
  %66 = bitcast i8* %65 to %1**, !dbg !18
  %ph44977 = load %1*, %1** %66, align 8, !dbg !18
  %67 = getelementptr inbounds i8, i8* %args, i64 160, !dbg !18
  %68 = bitcast i8* %67 to %1**, !dbg !18
  %ph45978 = load %1*, %1** %68, align 8, !dbg !18
  %69 = getelementptr inbounds i8, i8* %args, i64 168, !dbg !18
  %70 = bitcast i8* %69 to %1**, !dbg !18
  %ph46979 = load %1*, %1** %70, align 8, !dbg !18
  %71 = getelementptr inbounds i8, i8* %args, i64 176, !dbg !18
  %72 = bitcast i8* %71 to %1**, !dbg !18
  %ph47980 = load %1*, %1** %72, align 8, !dbg !18
  %73 = getelementptr inbounds i8, i8* %args, i64 184, !dbg !18
  %74 = bitcast i8* %73 to %1**, !dbg !18
  %ph48981 = load %1*, %1** %74, align 8, !dbg !18
  %75 = getelementptr inbounds i8, i8* %args, i64 192, !dbg !18
  %76 = bitcast i8* %75 to %1**, !dbg !18
  %ph49982 = load %1*, %1** %76, align 8, !dbg !18
  %77 = getelementptr inbounds i8, i8* %args, i64 200, !dbg !18
  %78 = bitcast i8* %77 to %1**, !dbg !18
  %ph50983 = load %1*, %1** %78, align 8, !dbg !18
  %79 = getelementptr inbounds i8, i8* %args, i64 208, !dbg !18
  %80 = bitcast i8* %79 to %1**, !dbg !18
  %T_concat984 = load %1*, %1** %80, align 8, !dbg !18
  %81 = bitcast %1* %ph958 to float**, !dbg !18
  %ph_void_ptr985 = load float*, float** %81, align 8, !dbg !18
  %ptrint = ptrtoint float* %ph_void_ptr985 to i64, !dbg !18
  %maskedptr = and i64 %ptrint, 63, !dbg !18
  %maskcond = icmp eq i64 %maskedptr, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond), !dbg !18
  %82 = getelementptr inbounds %1, %1* %ph958, i64 0, i32 4, !dbg !18
  %default_function.ph.shape = load i64*, i64** %82, align 8, !dbg !18
  %83 = getelementptr inbounds %1, %1* %ph958, i64 0, i32 5, !dbg !18
  %default_function.ph.strides = load i64*, i64** %83, align 8, !dbg !18
  %84 = getelementptr inbounds %1, %1* %ph958, i64 0, i32 1, i32 1, !dbg !18
  %dev_id = load i32, i32* %84, align 4, !dbg !18
  %85 = bitcast %1* %ph26959 to float**, !dbg !18
  %ph_void_ptr52986 = load float*, float** %85, align 8, !dbg !18
  %ptrint54 = ptrtoint float* %ph_void_ptr52986 to i64, !dbg !18
  %maskedptr55 = and i64 %ptrint54, 63, !dbg !18
  %maskcond56 = icmp eq i64 %maskedptr55, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond56), !dbg !18
  %86 = getelementptr inbounds %1, %1* %ph26959, i64 0, i32 4, !dbg !18
  %default_function.ph.shape57 = load i64*, i64** %86, align 8, !dbg !18
  %87 = getelementptr inbounds %1, %1* %ph26959, i64 0, i32 5, !dbg !18
  %default_function.ph.strides58 = load i64*, i64** %87, align 8, !dbg !18
  %88 = bitcast %1* %ph27960 to float**, !dbg !18
  %ph_void_ptr59987 = load float*, float** %88, align 8, !dbg !18
  %ptrint61 = ptrtoint float* %ph_void_ptr59987 to i64, !dbg !18
  %maskedptr62 = and i64 %ptrint61, 63, !dbg !18
  %maskcond63 = icmp eq i64 %maskedptr62, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond63), !dbg !18
  %89 = getelementptr inbounds %1, %1* %ph27960, i64 0, i32 4, !dbg !18
  %default_function.ph.shape64 = load i64*, i64** %89, align 8, !dbg !18
  %90 = getelementptr inbounds %1, %1* %ph27960, i64 0, i32 5, !dbg !18
  %default_function.ph.strides65 = load i64*, i64** %90, align 8, !dbg !18
  %91 = bitcast %1* %ph28961 to float**, !dbg !18
  %ph_void_ptr66988 = load float*, float** %91, align 8, !dbg !18
  %ptrint68 = ptrtoint float* %ph_void_ptr66988 to i64, !dbg !18
  %maskedptr69 = and i64 %ptrint68, 63, !dbg !18
  %maskcond70 = icmp eq i64 %maskedptr69, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond70), !dbg !18
  %92 = getelementptr inbounds %1, %1* %ph28961, i64 0, i32 4, !dbg !18
  %default_function.ph.shape71 = load i64*, i64** %92, align 8, !dbg !18
  %93 = getelementptr inbounds %1, %1* %ph28961, i64 0, i32 5, !dbg !18
  %default_function.ph.strides72 = load i64*, i64** %93, align 8, !dbg !18
  %94 = bitcast %1* %ph29962 to float**, !dbg !18
  %ph_void_ptr73989 = load float*, float** %94, align 8, !dbg !18
  %ptrint75 = ptrtoint float* %ph_void_ptr73989 to i64, !dbg !18
  %maskedptr76 = and i64 %ptrint75, 63, !dbg !18
  %maskcond77 = icmp eq i64 %maskedptr76, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond77), !dbg !18
  %95 = getelementptr inbounds %1, %1* %ph29962, i64 0, i32 4, !dbg !18
  %default_function.ph.shape78 = load i64*, i64** %95, align 8, !dbg !18
  %96 = getelementptr inbounds %1, %1* %ph29962, i64 0, i32 5, !dbg !18
  %default_function.ph.strides79 = load i64*, i64** %96, align 8, !dbg !18
  %97 = bitcast %1* %ph30963 to float**, !dbg !18
  %ph_void_ptr80990 = load float*, float** %97, align 8, !dbg !18
  %ptrint82 = ptrtoint float* %ph_void_ptr80990 to i64, !dbg !18
  %maskedptr83 = and i64 %ptrint82, 63, !dbg !18
  %maskcond84 = icmp eq i64 %maskedptr83, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond84), !dbg !18
  %98 = getelementptr inbounds %1, %1* %ph30963, i64 0, i32 4, !dbg !18
  %default_function.ph.shape85 = load i64*, i64** %98, align 8, !dbg !18
  %99 = getelementptr inbounds %1, %1* %ph30963, i64 0, i32 5, !dbg !18
  %default_function.ph.strides86 = load i64*, i64** %99, align 8, !dbg !18
  %100 = bitcast %1* %ph31964 to float**, !dbg !18
  %ph_void_ptr87991 = load float*, float** %100, align 8, !dbg !18
  %ptrint89 = ptrtoint float* %ph_void_ptr87991 to i64, !dbg !18
  %maskedptr90 = and i64 %ptrint89, 63, !dbg !18
  %maskcond91 = icmp eq i64 %maskedptr90, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond91), !dbg !18
  %101 = getelementptr inbounds %1, %1* %ph31964, i64 0, i32 4, !dbg !18
  %default_function.ph.shape92 = load i64*, i64** %101, align 8, !dbg !18
  %102 = getelementptr inbounds %1, %1* %ph31964, i64 0, i32 5, !dbg !18
  %default_function.ph.strides93 = load i64*, i64** %102, align 8, !dbg !18
  %103 = bitcast %1* %ph32965 to float**, !dbg !18
  %ph_void_ptr94992 = load float*, float** %103, align 8, !dbg !18
  %ptrint96 = ptrtoint float* %ph_void_ptr94992 to i64, !dbg !18
  %maskedptr97 = and i64 %ptrint96, 63, !dbg !18
  %maskcond98 = icmp eq i64 %maskedptr97, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond98), !dbg !18
  %104 = getelementptr inbounds %1, %1* %ph32965, i64 0, i32 4, !dbg !18
  %default_function.ph.shape99 = load i64*, i64** %104, align 8, !dbg !18
  %105 = getelementptr inbounds %1, %1* %ph32965, i64 0, i32 5, !dbg !18
  %default_function.ph.strides100 = load i64*, i64** %105, align 8, !dbg !18
  %106 = bitcast %1* %ph33966 to float**, !dbg !18
  %ph_void_ptr101993 = load float*, float** %106, align 8, !dbg !18
  %ptrint103 = ptrtoint float* %ph_void_ptr101993 to i64, !dbg !18
  %maskedptr104 = and i64 %ptrint103, 63, !dbg !18
  %maskcond105 = icmp eq i64 %maskedptr104, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond105), !dbg !18
  %107 = getelementptr inbounds %1, %1* %ph33966, i64 0, i32 4, !dbg !18
  %default_function.ph.shape106 = load i64*, i64** %107, align 8, !dbg !18
  %108 = getelementptr inbounds %1, %1* %ph33966, i64 0, i32 5, !dbg !18
  %default_function.ph.strides107 = load i64*, i64** %108, align 8, !dbg !18
  %109 = bitcast %1* %ph34967 to float**, !dbg !18
  %ph_void_ptr108994 = load float*, float** %109, align 8, !dbg !18
  %ptrint110 = ptrtoint float* %ph_void_ptr108994 to i64, !dbg !18
  %maskedptr111 = and i64 %ptrint110, 63, !dbg !18
  %maskcond112 = icmp eq i64 %maskedptr111, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond112), !dbg !18
  %110 = getelementptr inbounds %1, %1* %ph34967, i64 0, i32 4, !dbg !18
  %default_function.ph.shape113 = load i64*, i64** %110, align 8, !dbg !18
  %111 = getelementptr inbounds %1, %1* %ph34967, i64 0, i32 5, !dbg !18
  %default_function.ph.strides114 = load i64*, i64** %111, align 8, !dbg !18
  %112 = bitcast %1* %ph35968 to float**, !dbg !18
  %ph_void_ptr115995 = load float*, float** %112, align 8, !dbg !18
  %ptrint117 = ptrtoint float* %ph_void_ptr115995 to i64, !dbg !18
  %maskedptr118 = and i64 %ptrint117, 63, !dbg !18
  %maskcond119 = icmp eq i64 %maskedptr118, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond119), !dbg !18
  %113 = getelementptr inbounds %1, %1* %ph35968, i64 0, i32 4, !dbg !18
  %default_function.ph.shape120 = load i64*, i64** %113, align 8, !dbg !18
  %114 = getelementptr inbounds %1, %1* %ph35968, i64 0, i32 5, !dbg !18
  %default_function.ph.strides121 = load i64*, i64** %114, align 8, !dbg !18
  %115 = bitcast %1* %ph36969 to float**, !dbg !18
  %ph_void_ptr122996 = load float*, float** %115, align 8, !dbg !18
  %ptrint124 = ptrtoint float* %ph_void_ptr122996 to i64, !dbg !18
  %maskedptr125 = and i64 %ptrint124, 63, !dbg !18
  %maskcond126 = icmp eq i64 %maskedptr125, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond126), !dbg !18
  %116 = getelementptr inbounds %1, %1* %ph36969, i64 0, i32 4, !dbg !18
  %default_function.ph.shape127 = load i64*, i64** %116, align 8, !dbg !18
  %117 = getelementptr inbounds %1, %1* %ph36969, i64 0, i32 5, !dbg !18
  %default_function.ph.strides128 = load i64*, i64** %117, align 8, !dbg !18
  %118 = bitcast %1* %ph37970 to float**, !dbg !18
  %ph_void_ptr129997 = load float*, float** %118, align 8, !dbg !18
  %ptrint131 = ptrtoint float* %ph_void_ptr129997 to i64, !dbg !18
  %maskedptr132 = and i64 %ptrint131, 63, !dbg !18
  %maskcond133 = icmp eq i64 %maskedptr132, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond133), !dbg !18
  %119 = getelementptr inbounds %1, %1* %ph37970, i64 0, i32 4, !dbg !18
  %default_function.ph.shape134 = load i64*, i64** %119, align 8, !dbg !18
  %120 = getelementptr inbounds %1, %1* %ph37970, i64 0, i32 5, !dbg !18
  %default_function.ph.strides135 = load i64*, i64** %120, align 8, !dbg !18
  %121 = bitcast %1* %ph38971 to float**, !dbg !18
  %ph_void_ptr136998 = load float*, float** %121, align 8, !dbg !18
  %ptrint138 = ptrtoint float* %ph_void_ptr136998 to i64, !dbg !18
  %maskedptr139 = and i64 %ptrint138, 63, !dbg !18
  %maskcond140 = icmp eq i64 %maskedptr139, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond140), !dbg !18
  %122 = getelementptr inbounds %1, %1* %ph38971, i64 0, i32 4, !dbg !18
  %default_function.ph.shape141 = load i64*, i64** %122, align 8, !dbg !18
  %123 = getelementptr inbounds %1, %1* %ph38971, i64 0, i32 5, !dbg !18
  %default_function.ph.strides142 = load i64*, i64** %123, align 8, !dbg !18
  %124 = bitcast %1* %ph39972 to float**, !dbg !18
  %ph_void_ptr143999 = load float*, float** %124, align 8, !dbg !18
  %ptrint145 = ptrtoint float* %ph_void_ptr143999 to i64, !dbg !18
  %maskedptr146 = and i64 %ptrint145, 63, !dbg !18
  %maskcond147 = icmp eq i64 %maskedptr146, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond147), !dbg !18
  %125 = getelementptr inbounds %1, %1* %ph39972, i64 0, i32 4, !dbg !18
  %default_function.ph.shape148 = load i64*, i64** %125, align 8, !dbg !18
  %126 = getelementptr inbounds %1, %1* %ph39972, i64 0, i32 5, !dbg !18
  %default_function.ph.strides149 = load i64*, i64** %126, align 8, !dbg !18
  %127 = bitcast %1* %ph40973 to float**, !dbg !18
  %ph_void_ptr1501000 = load float*, float** %127, align 8, !dbg !18
  %ptrint152 = ptrtoint float* %ph_void_ptr1501000 to i64, !dbg !18
  %maskedptr153 = and i64 %ptrint152, 63, !dbg !18
  %maskcond154 = icmp eq i64 %maskedptr153, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond154), !dbg !18
  %128 = getelementptr inbounds %1, %1* %ph40973, i64 0, i32 4, !dbg !18
  %default_function.ph.shape155 = load i64*, i64** %128, align 8, !dbg !18
  %129 = getelementptr inbounds %1, %1* %ph40973, i64 0, i32 5, !dbg !18
  %default_function.ph.strides156 = load i64*, i64** %129, align 8, !dbg !18
  %130 = bitcast %1* %ph41974 to float**, !dbg !18
  %ph_void_ptr1571001 = load float*, float** %130, align 8, !dbg !18
  %ptrint159 = ptrtoint float* %ph_void_ptr1571001 to i64, !dbg !18
  %maskedptr160 = and i64 %ptrint159, 63, !dbg !18
  %maskcond161 = icmp eq i64 %maskedptr160, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond161), !dbg !18
  %131 = getelementptr inbounds %1, %1* %ph41974, i64 0, i32 4, !dbg !18
  %default_function.ph.shape162 = load i64*, i64** %131, align 8, !dbg !18
  %132 = getelementptr inbounds %1, %1* %ph41974, i64 0, i32 5, !dbg !18
  %default_function.ph.strides163 = load i64*, i64** %132, align 8, !dbg !18
  %133 = bitcast %1* %ph42975 to float**, !dbg !18
  %ph_void_ptr1641002 = load float*, float** %133, align 8, !dbg !18
  %ptrint166 = ptrtoint float* %ph_void_ptr1641002 to i64, !dbg !18
  %maskedptr167 = and i64 %ptrint166, 63, !dbg !18
  %maskcond168 = icmp eq i64 %maskedptr167, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond168), !dbg !18
  %134 = getelementptr inbounds %1, %1* %ph42975, i64 0, i32 4, !dbg !18
  %default_function.ph.shape169 = load i64*, i64** %134, align 8, !dbg !18
  %135 = getelementptr inbounds %1, %1* %ph42975, i64 0, i32 5, !dbg !18
  %default_function.ph.strides170 = load i64*, i64** %135, align 8, !dbg !18
  %136 = bitcast %1* %ph43976 to float**, !dbg !18
  %ph_void_ptr1711003 = load float*, float** %136, align 8, !dbg !18
  %ptrint173 = ptrtoint float* %ph_void_ptr1711003 to i64, !dbg !18
  %maskedptr174 = and i64 %ptrint173, 63, !dbg !18
  %maskcond175 = icmp eq i64 %maskedptr174, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond175), !dbg !18
  %137 = getelementptr inbounds %1, %1* %ph43976, i64 0, i32 4, !dbg !18
  %default_function.ph.shape176 = load i64*, i64** %137, align 8, !dbg !18
  %138 = getelementptr inbounds %1, %1* %ph43976, i64 0, i32 5, !dbg !18
  %default_function.ph.strides177 = load i64*, i64** %138, align 8, !dbg !18
  %139 = bitcast %1* %ph44977 to float**, !dbg !18
  %ph_void_ptr1781004 = load float*, float** %139, align 8, !dbg !18
  %ptrint180 = ptrtoint float* %ph_void_ptr1781004 to i64, !dbg !18
  %maskedptr181 = and i64 %ptrint180, 63, !dbg !18
  %maskcond182 = icmp eq i64 %maskedptr181, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond182), !dbg !18
  %140 = getelementptr inbounds %1, %1* %ph44977, i64 0, i32 4, !dbg !18
  %default_function.ph.shape183 = load i64*, i64** %140, align 8, !dbg !18
  %141 = getelementptr inbounds %1, %1* %ph44977, i64 0, i32 5, !dbg !18
  %default_function.ph.strides184 = load i64*, i64** %141, align 8, !dbg !18
  %142 = bitcast %1* %ph45978 to float**, !dbg !18
  %ph_void_ptr1851005 = load float*, float** %142, align 8, !dbg !18
  %ptrint187 = ptrtoint float* %ph_void_ptr1851005 to i64, !dbg !18
  %maskedptr188 = and i64 %ptrint187, 63, !dbg !18
  %maskcond189 = icmp eq i64 %maskedptr188, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond189), !dbg !18
  %143 = getelementptr inbounds %1, %1* %ph45978, i64 0, i32 4, !dbg !18
  %default_function.ph.shape190 = load i64*, i64** %143, align 8, !dbg !18
  %144 = getelementptr inbounds %1, %1* %ph45978, i64 0, i32 5, !dbg !18
  %default_function.ph.strides191 = load i64*, i64** %144, align 8, !dbg !18
  %145 = bitcast %1* %ph46979 to float**, !dbg !18
  %ph_void_ptr1921006 = load float*, float** %145, align 8, !dbg !18
  %ptrint194 = ptrtoint float* %ph_void_ptr1921006 to i64, !dbg !18
  %maskedptr195 = and i64 %ptrint194, 63, !dbg !18
  %maskcond196 = icmp eq i64 %maskedptr195, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond196), !dbg !18
  %146 = getelementptr inbounds %1, %1* %ph46979, i64 0, i32 4, !dbg !18
  %default_function.ph.shape197 = load i64*, i64** %146, align 8, !dbg !18
  %147 = getelementptr inbounds %1, %1* %ph46979, i64 0, i32 5, !dbg !18
  %default_function.ph.strides198 = load i64*, i64** %147, align 8, !dbg !18
  %148 = bitcast %1* %ph47980 to float**, !dbg !18
  %ph_void_ptr1991007 = load float*, float** %148, align 8, !dbg !18
  %ptrint201 = ptrtoint float* %ph_void_ptr1991007 to i64, !dbg !18
  %maskedptr202 = and i64 %ptrint201, 63, !dbg !18
  %maskcond203 = icmp eq i64 %maskedptr202, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond203), !dbg !18
  %149 = getelementptr inbounds %1, %1* %ph47980, i64 0, i32 4, !dbg !18
  %default_function.ph.shape204 = load i64*, i64** %149, align 8, !dbg !18
  %150 = getelementptr inbounds %1, %1* %ph47980, i64 0, i32 5, !dbg !18
  %default_function.ph.strides205 = load i64*, i64** %150, align 8, !dbg !18
  %151 = bitcast %1* %ph48981 to float**, !dbg !18
  %ph_void_ptr2061008 = load float*, float** %151, align 8, !dbg !18
  %ptrint208 = ptrtoint float* %ph_void_ptr2061008 to i64, !dbg !18
  %maskedptr209 = and i64 %ptrint208, 63, !dbg !18
  %maskcond210 = icmp eq i64 %maskedptr209, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond210), !dbg !18
  %152 = getelementptr inbounds %1, %1* %ph48981, i64 0, i32 4, !dbg !18
  %default_function.ph.shape211 = load i64*, i64** %152, align 8, !dbg !18
  %153 = getelementptr inbounds %1, %1* %ph48981, i64 0, i32 5, !dbg !18
  %default_function.ph.strides212 = load i64*, i64** %153, align 8, !dbg !18
  %154 = bitcast %1* %ph49982 to float**, !dbg !18
  %ph_void_ptr2131009 = load float*, float** %154, align 8, !dbg !18
  %ptrint215 = ptrtoint float* %ph_void_ptr2131009 to i64, !dbg !18
  %maskedptr216 = and i64 %ptrint215, 63, !dbg !18
  %maskcond217 = icmp eq i64 %maskedptr216, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond217), !dbg !18
  %155 = getelementptr inbounds %1, %1* %ph49982, i64 0, i32 4, !dbg !18
  %default_function.ph.shape218 = load i64*, i64** %155, align 8, !dbg !18
  %156 = getelementptr inbounds %1, %1* %ph49982, i64 0, i32 5, !dbg !18
  %default_function.ph.strides219 = load i64*, i64** %156, align 8, !dbg !18
  %157 = bitcast %1* %ph50983 to float**, !dbg !18
  %ph_void_ptr2201010 = load float*, float** %157, align 8, !dbg !18
  %ptrint222 = ptrtoint float* %ph_void_ptr2201010 to i64, !dbg !18
  %maskedptr223 = and i64 %ptrint222, 63, !dbg !18
  %maskcond224 = icmp eq i64 %maskedptr223, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond224), !dbg !18
  %158 = getelementptr inbounds %1, %1* %ph50983, i64 0, i32 4, !dbg !18
  %default_function.ph.shape225 = load i64*, i64** %158, align 8, !dbg !18
  %159 = getelementptr inbounds %1, %1* %ph50983, i64 0, i32 5, !dbg !18
  %default_function.ph.strides226 = load i64*, i64** %159, align 8, !dbg !18
  %160 = bitcast %1* %T_concat984 to float**, !dbg !18
  %T_concat_void_ptr1011 = load float*, float** %160, align 8, !dbg !18
  %ptrint228 = ptrtoint float* %T_concat_void_ptr1011 to i64, !dbg !18
  %maskedptr229 = and i64 %ptrint228, 63, !dbg !18
  %maskcond230 = icmp eq i64 %maskedptr229, 0, !dbg !18
  tail call void @llvm.assume(i1 %maskcond230), !dbg !18
  %161 = getelementptr inbounds %1, %1* %T_concat984, i64 0, i32 4, !dbg !18
  %default_function.T_concat.shape = load i64*, i64** %161, align 8, !dbg !18
  %162 = getelementptr inbounds %1, %1* %T_concat984, i64 0, i32 5, !dbg !18
  %default_function.T_concat.strides = load i64*, i64** %162, align 8, !dbg !18
  switch i32 %ph.code, label %assert_fail231 [
    i32 13, label %assert_end232
    i32 7, label %assert_end232
    i32 4, label %assert_end232
    i32 3, label %assert_end232
  ], !dbg !18

assert_fail231:                                   ; preds = %assert_end
  %163 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %163(i8* getelementptr inbounds ([122 x i8], [122 x i8]* @.str.1, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end232:                                    ; preds = %assert_end, %assert_end, %assert_end, %assert_end
  switch i32 %ph.code1, label %assert_fail233 [
    i32 13, label %assert_end234
    i32 7, label %assert_end234
    i32 4, label %assert_end234
    i32 3, label %assert_end234
  ], !dbg !18

assert_fail233:                                   ; preds = %assert_end232
  %164 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %164(i8* getelementptr inbounds ([122 x i8], [122 x i8]* @.str.2, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end234:                                    ; preds = %assert_end232, %assert_end232, %assert_end232, %assert_end232
  switch i32 %ph.code2, label %assert_fail235 [
    i32 13, label %assert_end236
    i32 7, label %assert_end236
    i32 4, label %assert_end236
    i32 3, label %assert_end236
  ], !dbg !18

assert_fail235:                                   ; preds = %assert_end234
  %165 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %165(i8* getelementptr inbounds ([122 x i8], [122 x i8]* @.str.3, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end236:                                    ; preds = %assert_end234, %assert_end234, %assert_end234, %assert_end234
  switch i32 %ph.code3, label %assert_fail237 [
    i32 13, label %assert_end238
    i32 7, label %assert_end238
    i32 4, label %assert_end238
    i32 3, label %assert_end238
  ], !dbg !18

assert_fail237:                                   ; preds = %assert_end236
  %166 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %166(i8* getelementptr inbounds ([122 x i8], [122 x i8]* @.str.4, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end238:                                    ; preds = %assert_end236, %assert_end236, %assert_end236, %assert_end236
  switch i32 %ph.code4, label %assert_fail239 [
    i32 13, label %assert_end240
    i32 7, label %assert_end240
    i32 4, label %assert_end240
    i32 3, label %assert_end240
  ], !dbg !18

assert_fail239:                                   ; preds = %assert_end238
  %167 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %167(i8* getelementptr inbounds ([122 x i8], [122 x i8]* @.str.5, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end240:                                    ; preds = %assert_end238, %assert_end238, %assert_end238, %assert_end238
  switch i32 %ph.code5, label %assert_fail241 [
    i32 13, label %assert_end242
    i32 7, label %assert_end242
    i32 4, label %assert_end242
    i32 3, label %assert_end242
  ], !dbg !18

assert_fail241:                                   ; preds = %assert_end240
  %168 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %168(i8* getelementptr inbounds ([122 x i8], [122 x i8]* @.str.6, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end242:                                    ; preds = %assert_end240, %assert_end240, %assert_end240, %assert_end240
  switch i32 %ph.code6, label %assert_fail243 [
    i32 13, label %assert_end244
    i32 7, label %assert_end244
    i32 4, label %assert_end244
    i32 3, label %assert_end244
  ], !dbg !18

assert_fail243:                                   ; preds = %assert_end242
  %169 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %169(i8* getelementptr inbounds ([122 x i8], [122 x i8]* @.str.7, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end244:                                    ; preds = %assert_end242, %assert_end242, %assert_end242, %assert_end242
  switch i32 %ph.code7, label %assert_fail245 [
    i32 13, label %assert_end246
    i32 7, label %assert_end246
    i32 4, label %assert_end246
    i32 3, label %assert_end246
  ], !dbg !18

assert_fail245:                                   ; preds = %assert_end244
  %170 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %170(i8* getelementptr inbounds ([122 x i8], [122 x i8]* @.str.8, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end246:                                    ; preds = %assert_end244, %assert_end244, %assert_end244, %assert_end244
  switch i32 %ph.code8, label %assert_fail247 [
    i32 13, label %assert_end248
    i32 7, label %assert_end248
    i32 4, label %assert_end248
    i32 3, label %assert_end248
  ], !dbg !18

assert_fail247:                                   ; preds = %assert_end246
  %171 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %171(i8* getelementptr inbounds ([122 x i8], [122 x i8]* @.str.9, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end248:                                    ; preds = %assert_end246, %assert_end246, %assert_end246, %assert_end246
  switch i32 %ph.code9, label %assert_fail249 [
    i32 13, label %assert_end250
    i32 7, label %assert_end250
    i32 4, label %assert_end250
    i32 3, label %assert_end250
  ], !dbg !18

assert_fail249:                                   ; preds = %assert_end248
  %172 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %172(i8* getelementptr inbounds ([122 x i8], [122 x i8]* @.str.10, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end250:                                    ; preds = %assert_end248, %assert_end248, %assert_end248, %assert_end248
  switch i32 %ph.code10, label %assert_fail251 [
    i32 13, label %assert_end252
    i32 7, label %assert_end252
    i32 4, label %assert_end252
    i32 3, label %assert_end252
  ], !dbg !18

assert_fail251:                                   ; preds = %assert_end250
  %173 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %173(i8* getelementptr inbounds ([123 x i8], [123 x i8]* @.str.11, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end252:                                    ; preds = %assert_end250, %assert_end250, %assert_end250, %assert_end250
  switch i32 %ph.code11, label %assert_fail253 [
    i32 13, label %assert_end254
    i32 7, label %assert_end254
    i32 4, label %assert_end254
    i32 3, label %assert_end254
  ], !dbg !18

assert_fail253:                                   ; preds = %assert_end252
  %174 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %174(i8* getelementptr inbounds ([123 x i8], [123 x i8]* @.str.12, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end254:                                    ; preds = %assert_end252, %assert_end252, %assert_end252, %assert_end252
  switch i32 %ph.code12, label %assert_fail255 [
    i32 13, label %assert_end256
    i32 7, label %assert_end256
    i32 4, label %assert_end256
    i32 3, label %assert_end256
  ], !dbg !18

assert_fail255:                                   ; preds = %assert_end254
  %175 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %175(i8* getelementptr inbounds ([123 x i8], [123 x i8]* @.str.13, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end256:                                    ; preds = %assert_end254, %assert_end254, %assert_end254, %assert_end254
  switch i32 %ph.code13, label %assert_fail257 [
    i32 13, label %assert_end258
    i32 7, label %assert_end258
    i32 4, label %assert_end258
    i32 3, label %assert_end258
  ], !dbg !18

assert_fail257:                                   ; preds = %assert_end256
  %176 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %176(i8* getelementptr inbounds ([123 x i8], [123 x i8]* @.str.14, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end258:                                    ; preds = %assert_end256, %assert_end256, %assert_end256, %assert_end256
  switch i32 %ph.code14, label %assert_fail259 [
    i32 13, label %assert_end260
    i32 7, label %assert_end260
    i32 4, label %assert_end260
    i32 3, label %assert_end260
  ], !dbg !18

assert_fail259:                                   ; preds = %assert_end258
  %177 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %177(i8* getelementptr inbounds ([123 x i8], [123 x i8]* @.str.15, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end260:                                    ; preds = %assert_end258, %assert_end258, %assert_end258, %assert_end258
  switch i32 %ph.code15, label %assert_fail261 [
    i32 13, label %assert_end262
    i32 7, label %assert_end262
    i32 4, label %assert_end262
    i32 3, label %assert_end262
  ], !dbg !18

assert_fail261:                                   ; preds = %assert_end260
  %178 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %178(i8* getelementptr inbounds ([123 x i8], [123 x i8]* @.str.16, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end262:                                    ; preds = %assert_end260, %assert_end260, %assert_end260, %assert_end260
  switch i32 %ph.code16, label %assert_fail263 [
    i32 13, label %assert_end264
    i32 7, label %assert_end264
    i32 4, label %assert_end264
    i32 3, label %assert_end264
  ], !dbg !18

assert_fail263:                                   ; preds = %assert_end262
  %179 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %179(i8* getelementptr inbounds ([123 x i8], [123 x i8]* @.str.17, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end264:                                    ; preds = %assert_end262, %assert_end262, %assert_end262, %assert_end262
  switch i32 %ph.code17, label %assert_fail265 [
    i32 13, label %assert_end266
    i32 7, label %assert_end266
    i32 4, label %assert_end266
    i32 3, label %assert_end266
  ], !dbg !18

assert_fail265:                                   ; preds = %assert_end264
  %180 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %180(i8* getelementptr inbounds ([123 x i8], [123 x i8]* @.str.18, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end266:                                    ; preds = %assert_end264, %assert_end264, %assert_end264, %assert_end264
  switch i32 %ph.code18, label %assert_fail267 [
    i32 13, label %assert_end268
    i32 7, label %assert_end268
    i32 4, label %assert_end268
    i32 3, label %assert_end268
  ], !dbg !18

assert_fail267:                                   ; preds = %assert_end266
  %181 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %181(i8* getelementptr inbounds ([123 x i8], [123 x i8]* @.str.19, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end268:                                    ; preds = %assert_end266, %assert_end266, %assert_end266, %assert_end266
  switch i32 %ph.code19, label %assert_fail269 [
    i32 13, label %assert_end270
    i32 7, label %assert_end270
    i32 4, label %assert_end270
    i32 3, label %assert_end270
  ], !dbg !18

assert_fail269:                                   ; preds = %assert_end268
  %182 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %182(i8* getelementptr inbounds ([123 x i8], [123 x i8]* @.str.20, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end270:                                    ; preds = %assert_end268, %assert_end268, %assert_end268, %assert_end268
  switch i32 %ph.code20, label %assert_fail271 [
    i32 13, label %assert_end272
    i32 7, label %assert_end272
    i32 4, label %assert_end272
    i32 3, label %assert_end272
  ], !dbg !18

assert_fail271:                                   ; preds = %assert_end270
  %183 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %183(i8* getelementptr inbounds ([123 x i8], [123 x i8]* @.str.21, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end272:                                    ; preds = %assert_end270, %assert_end270, %assert_end270, %assert_end270
  switch i32 %ph.code21, label %assert_fail273 [
    i32 13, label %assert_end274
    i32 7, label %assert_end274
    i32 4, label %assert_end274
    i32 3, label %assert_end274
  ], !dbg !18

assert_fail273:                                   ; preds = %assert_end272
  %184 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %184(i8* getelementptr inbounds ([123 x i8], [123 x i8]* @.str.22, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end274:                                    ; preds = %assert_end272, %assert_end272, %assert_end272, %assert_end272
  switch i32 %ph.code22, label %assert_fail275 [
    i32 13, label %assert_end276
    i32 7, label %assert_end276
    i32 4, label %assert_end276
    i32 3, label %assert_end276
  ], !dbg !18

assert_fail275:                                   ; preds = %assert_end274
  %185 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %185(i8* getelementptr inbounds ([123 x i8], [123 x i8]* @.str.23, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end276:                                    ; preds = %assert_end274, %assert_end274, %assert_end274, %assert_end274
  switch i32 %ph.code23, label %assert_fail277 [
    i32 13, label %assert_end278
    i32 7, label %assert_end278
    i32 4, label %assert_end278
    i32 3, label %assert_end278
  ], !dbg !18

assert_fail277:                                   ; preds = %assert_end276
  %186 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %186(i8* getelementptr inbounds ([123 x i8], [123 x i8]* @.str.24, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end278:                                    ; preds = %assert_end276, %assert_end276, %assert_end276, %assert_end276
  switch i32 %ph.code24, label %assert_fail279 [
    i32 13, label %assert_end280
    i32 7, label %assert_end280
    i32 4, label %assert_end280
    i32 3, label %assert_end280
  ], !dbg !18

assert_fail279:                                   ; preds = %assert_end278
  %187 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %187(i8* getelementptr inbounds ([123 x i8], [123 x i8]* @.str.25, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end280:                                    ; preds = %assert_end278, %assert_end278, %assert_end278, %assert_end278
  switch i32 %ph.code25, label %assert_fail281 [
    i32 13, label %assert_end282
    i32 7, label %assert_end282
    i32 4, label %assert_end282
    i32 3, label %assert_end282
  ], !dbg !18

assert_fail281:                                   ; preds = %assert_end280
  %188 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %188(i8* getelementptr inbounds ([123 x i8], [123 x i8]* @.str.26, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end282:                                    ; preds = %assert_end280, %assert_end280, %assert_end280, %assert_end280
  switch i32 %T_concat.code, label %assert_fail283 [
    i32 13, label %assert_end284
    i32 7, label %assert_end284
    i32 4, label %assert_end284
    i32 3, label %assert_end284
  ], !dbg !18

assert_fail283:                                   ; preds = %assert_end282
  %189 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %189(i8* getelementptr inbounds ([147 x i8], [147 x i8]* @.str.27, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end284:                                    ; preds = %assert_end282, %assert_end282, %assert_end282, %assert_end282
  %190 = getelementptr inbounds %1, %1* %ph958, i64 0, i32 2, !dbg !18
  %191 = load i32, i32* %190, align 4, !dbg !18
  %192 = icmp eq i32 %191, 4, !dbg !18
  br i1 %192, label %assert_end288, label %assert_fail285, !dbg !18, !prof !19

assert_fail285:                                   ; preds = %assert_end284
  %193 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %193(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end288:                                    ; preds = %assert_end284
  %194 = getelementptr inbounds %1, %1* %ph958, i64 0, i32 3, i32 2, !dbg !18
  %195 = load i16, i16* %194, align 2, !dbg !18
  %196 = icmp eq i16 %195, 1, !dbg !18
  %197 = getelementptr inbounds %1, %1* %ph958, i64 0, i32 3, i32 1, !dbg !18
  %198 = load i8, i8* %197, align 1, !dbg !18
  %199 = icmp eq i8 %198, 32, !dbg !18
  %200 = getelementptr inbounds %1, %1* %ph958, i64 0, i32 3, i32 0, !dbg !18
  %201 = load i8, i8* %200, align 1, !dbg !18
  %202 = icmp eq i8 %201, 2, !dbg !18
  %203 = and i1 %199, %202, !dbg !18
  %204 = and i1 %196, %203, !dbg !18
  br i1 %204, label %assert_end290, label %assert_fail289, !dbg !18, !prof !19

assert_fail289:                                   ; preds = %assert_end288
  %205 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %205(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end290:                                    ; preds = %assert_end288
  %206 = load i64, i64* %default_function.ph.shape, align 8, !dbg !18, !tbaa !109
  %207 = trunc i64 %206 to i32, !dbg !18
  %208 = icmp eq i32 %207, 1, !dbg !18
  br i1 %208, label %assert_end292, label %assert_fail291, !dbg !18, !prof !19

assert_fail291:                                   ; preds = %assert_end290
  %209 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %209(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end292:                                    ; preds = %assert_end290
  %210 = getelementptr inbounds i64, i64* %default_function.ph.shape, i64 1, !dbg !18
  %211 = load i64, i64* %210, align 8, !dbg !18, !tbaa !119
  %212 = trunc i64 %211 to i32, !dbg !18
  %213 = icmp eq i32 %212, 3, !dbg !18
  br i1 %213, label %assert_end294, label %assert_fail293, !dbg !18, !prof !19

assert_fail293:                                   ; preds = %assert_end292
  %214 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %214(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.31, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end294:                                    ; preds = %assert_end292
  %215 = getelementptr inbounds i64, i64* %default_function.ph.shape, i64 2, !dbg !18
  %216 = load i64, i64* %215, align 8, !dbg !18, !tbaa !121
  %217 = trunc i64 %216 to i32, !dbg !18
  %218 = icmp eq i32 %217, 128, !dbg !18
  br i1 %218, label %assert_end296, label %assert_fail295, !dbg !18, !prof !19

assert_fail295:                                   ; preds = %assert_end294
  %219 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %219(i8* getelementptr inbounds ([189 x i8], [189 x i8]* @.str.32, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end296:                                    ; preds = %assert_end294
  %220 = getelementptr inbounds i64, i64* %default_function.ph.shape, i64 3, !dbg !18
  %221 = load i64, i64* %220, align 8, !dbg !18, !tbaa !124
  %222 = trunc i64 %221 to i32, !dbg !18
  %223 = icmp eq i32 %222, 128, !dbg !18
  br i1 %223, label %assert_end298, label %assert_fail297, !dbg !18, !prof !19

assert_fail297:                                   ; preds = %assert_end296
  %224 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %224(i8* getelementptr inbounds ([189 x i8], [189 x i8]* @.str.33, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end298:                                    ; preds = %assert_end296
  %225 = icmp eq i64* %default_function.ph.strides, null, !dbg !18
  br i1 %225, label %if_end, label %if_then, !dbg !18, !prof !126

if_then:                                          ; preds = %assert_end298
  %226 = getelementptr inbounds i64, i64* %default_function.ph.strides, i64 1, !dbg !18
  %227 = load i64, i64* %226, align 8, !dbg !18, !tbaa !127
  %228 = trunc i64 %227 to i32, !dbg !18
  %229 = icmp eq i32 %228, 16384, !dbg !18
  %230 = getelementptr inbounds i64, i64* %default_function.ph.strides, i64 2, !dbg !18
  %231 = load i64, i64* %230, align 8, !dbg !18, !tbaa !137
  %232 = trunc i64 %231 to i32, !dbg !18
  %233 = icmp eq i32 %232, 128, !dbg !18
  %234 = getelementptr inbounds i64, i64* %default_function.ph.strides, i64 3, !dbg !18
  %235 = load i64, i64* %234, align 8, !dbg !18, !tbaa !140
  %236 = trunc i64 %235 to i32, !dbg !18
  %237 = icmp eq i32 %236, 1, !dbg !18
  %238 = and i1 %233, %237, !dbg !18
  %239 = and i1 %229, %238, !dbg !18
  br i1 %239, label %if_end, label %assert_fail299, !dbg !18, !prof !19

if_end:                                           ; preds = %assert_end298, %if_then
  %240 = getelementptr inbounds %1, %1* %ph958, i64 0, i32 6, !dbg !18
  %241 = load i64, i64* %240, align 8, !dbg !18
  %242 = icmp eq i64 %241, 0, !dbg !18
  br i1 %242, label %assert_end302, label %assert_fail301, !dbg !18, !prof !19

assert_fail299:                                   ; preds = %if_then
  %243 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %243(i8* getelementptr inbounds ([245 x i8], [245 x i8]* @.str.34, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail301:                                   ; preds = %if_end
  %244 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %244(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end302:                                    ; preds = %if_end
  %245 = getelementptr inbounds %1, %1* %ph958, i64 0, i32 1, i32 0, !dbg !18
  %246 = load i32, i32* %245, align 4, !dbg !18
  %247 = icmp eq i32 %246, 1, !dbg !18
  br i1 %247, label %assert_end304, label %assert_fail303, !dbg !18, !prof !19

assert_fail303:                                   ; preds = %assert_end302
  %248 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %248(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end304:                                    ; preds = %assert_end302
  %249 = getelementptr inbounds %1, %1* %ph26959, i64 0, i32 2, !dbg !18
  %250 = load i32, i32* %249, align 4, !dbg !18
  %251 = icmp eq i32 %250, 4, !dbg !18
  br i1 %251, label %assert_end308, label %assert_fail305, !dbg !18, !prof !19

assert_fail305:                                   ; preds = %assert_end304
  %252 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %252(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end308:                                    ; preds = %assert_end304
  %253 = getelementptr inbounds %1, %1* %ph26959, i64 0, i32 3, i32 2, !dbg !18
  %254 = load i16, i16* %253, align 2, !dbg !18
  %255 = icmp eq i16 %254, 1, !dbg !18
  %256 = getelementptr inbounds %1, %1* %ph26959, i64 0, i32 3, i32 1, !dbg !18
  %257 = load i8, i8* %256, align 1, !dbg !18
  %258 = icmp eq i8 %257, 32, !dbg !18
  %259 = getelementptr inbounds %1, %1* %ph26959, i64 0, i32 3, i32 0, !dbg !18
  %260 = load i8, i8* %259, align 1, !dbg !18
  %261 = icmp eq i8 %260, 2, !dbg !18
  %262 = and i1 %258, %261, !dbg !18
  %263 = and i1 %255, %262, !dbg !18
  br i1 %263, label %assert_end310, label %assert_fail309, !dbg !18, !prof !19

assert_fail309:                                   ; preds = %assert_end308
  %264 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %264(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end310:                                    ; preds = %assert_end308
  %265 = load i64, i64* %default_function.ph.shape57, align 8, !dbg !18, !tbaa !142
  %266 = trunc i64 %265 to i32, !dbg !18
  %267 = icmp eq i32 %266, 1, !dbg !18
  br i1 %267, label %assert_end312, label %assert_fail311, !dbg !18, !prof !19

assert_fail311:                                   ; preds = %assert_end310
  %268 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %268(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end312:                                    ; preds = %assert_end310
  %269 = getelementptr inbounds i64, i64* %default_function.ph.shape57, i64 1, !dbg !18
  %270 = load i64, i64* %269, align 8, !dbg !18, !tbaa !152
  %271 = trunc i64 %270 to i32, !dbg !18
  %272 = icmp eq i32 %271, 96, !dbg !18
  br i1 %272, label %assert_end314, label %assert_fail313, !dbg !18, !prof !19

assert_fail313:                                   ; preds = %assert_end312
  %273 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %273(i8* getelementptr inbounds ([187 x i8], [187 x i8]* @.str.37, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end314:                                    ; preds = %assert_end312
  %274 = getelementptr inbounds i64, i64* %default_function.ph.shape57, i64 2, !dbg !18
  %275 = load i64, i64* %274, align 8, !dbg !18, !tbaa !154
  %276 = trunc i64 %275 to i32, !dbg !18
  %277 = icmp eq i32 %276, 7, !dbg !18
  br i1 %277, label %assert_end316, label %assert_fail315, !dbg !18, !prof !19

assert_fail315:                                   ; preds = %assert_end314
  %278 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %278(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.38, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end316:                                    ; preds = %assert_end314
  %279 = getelementptr inbounds i64, i64* %default_function.ph.shape57, i64 3, !dbg !18
  %280 = load i64, i64* %279, align 8, !dbg !18, !tbaa !157
  %281 = trunc i64 %280 to i32, !dbg !18
  %282 = icmp eq i32 %281, 7, !dbg !18
  br i1 %282, label %assert_end318, label %assert_fail317, !dbg !18, !prof !19

assert_fail317:                                   ; preds = %assert_end316
  %283 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %283(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.39, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end318:                                    ; preds = %assert_end316
  %284 = icmp eq i64* %default_function.ph.strides58, null, !dbg !18
  br i1 %284, label %if_end320, label %if_then319, !dbg !18, !prof !126

if_then319:                                       ; preds = %assert_end318
  %285 = getelementptr inbounds i64, i64* %default_function.ph.strides58, i64 1, !dbg !18
  %286 = load i64, i64* %285, align 8, !dbg !18, !tbaa !159
  %287 = trunc i64 %286 to i32, !dbg !18
  %288 = icmp eq i32 %287, 49, !dbg !18
  %289 = getelementptr inbounds i64, i64* %default_function.ph.strides58, i64 2, !dbg !18
  %290 = load i64, i64* %289, align 8, !dbg !18, !tbaa !169
  %291 = trunc i64 %290 to i32, !dbg !18
  %292 = icmp eq i32 %291, 7, !dbg !18
  %293 = getelementptr inbounds i64, i64* %default_function.ph.strides58, i64 3, !dbg !18
  %294 = load i64, i64* %293, align 8, !dbg !18, !tbaa !172
  %295 = trunc i64 %294 to i32, !dbg !18
  %296 = icmp eq i32 %295, 1, !dbg !18
  %297 = and i1 %292, %296, !dbg !18
  %298 = and i1 %288, %297, !dbg !18
  br i1 %298, label %if_end320, label %assert_fail321, !dbg !18, !prof !19

if_end320:                                        ; preds = %assert_end318, %if_then319
  %299 = getelementptr inbounds %1, %1* %ph26959, i64 0, i32 6, !dbg !18
  %300 = load i64, i64* %299, align 8, !dbg !18
  %301 = icmp eq i64 %300, 0, !dbg !18
  br i1 %301, label %assert_end324, label %assert_fail323, !dbg !18, !prof !19

assert_fail321:                                   ; preds = %if_then319
  %302 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %302(i8* getelementptr inbounds ([240 x i8], [240 x i8]* @.str.40, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail323:                                   ; preds = %if_end320
  %303 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %303(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end324:                                    ; preds = %if_end320
  %304 = getelementptr inbounds %1, %1* %ph26959, i64 0, i32 1, i32 0, !dbg !18
  %305 = load i32, i32* %304, align 4, !dbg !18
  %306 = icmp eq i32 %305, 1, !dbg !18
  br i1 %306, label %assert_end326, label %assert_fail325, !dbg !18, !prof !19

assert_fail325:                                   ; preds = %assert_end324
  %307 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %307(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end326:                                    ; preds = %assert_end324
  %308 = getelementptr inbounds %1, %1* %ph26959, i64 0, i32 1, i32 1, !dbg !18
  %309 = load i32, i32* %308, align 4, !dbg !18
  %310 = icmp eq i32 %dev_id, %309, !dbg !18
  br i1 %310, label %assert_end328, label %assert_fail327, !dbg !18, !prof !19

assert_fail327:                                   ; preds = %assert_end326
  %311 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %311(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end328:                                    ; preds = %assert_end326
  %312 = getelementptr inbounds %1, %1* %ph27960, i64 0, i32 2, !dbg !18
  %313 = load i32, i32* %312, align 4, !dbg !18
  %314 = icmp eq i32 %313, 4, !dbg !18
  br i1 %314, label %assert_end332, label %assert_fail329, !dbg !18, !prof !19

assert_fail329:                                   ; preds = %assert_end328
  %315 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %315(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end332:                                    ; preds = %assert_end328
  %316 = getelementptr inbounds %1, %1* %ph27960, i64 0, i32 3, i32 2, !dbg !18
  %317 = load i16, i16* %316, align 2, !dbg !18
  %318 = icmp eq i16 %317, 1, !dbg !18
  %319 = getelementptr inbounds %1, %1* %ph27960, i64 0, i32 3, i32 1, !dbg !18
  %320 = load i8, i8* %319, align 1, !dbg !18
  %321 = icmp eq i8 %320, 32, !dbg !18
  %322 = getelementptr inbounds %1, %1* %ph27960, i64 0, i32 3, i32 0, !dbg !18
  %323 = load i8, i8* %322, align 1, !dbg !18
  %324 = icmp eq i8 %323, 2, !dbg !18
  %325 = and i1 %321, %324, !dbg !18
  %326 = and i1 %318, %325, !dbg !18
  br i1 %326, label %assert_end334, label %assert_fail333, !dbg !18, !prof !19

assert_fail333:                                   ; preds = %assert_end332
  %327 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %327(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end334:                                    ; preds = %assert_end332
  %328 = load i64, i64* %default_function.ph.shape64, align 8, !dbg !18, !tbaa !174
  %329 = trunc i64 %328 to i32, !dbg !18
  %330 = icmp eq i32 %329, 1, !dbg !18
  br i1 %330, label %assert_end336, label %assert_fail335, !dbg !18, !prof !19

assert_fail335:                                   ; preds = %assert_end334
  %331 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %331(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end336:                                    ; preds = %assert_end334
  %332 = getelementptr inbounds i64, i64* %default_function.ph.shape64, i64 1, !dbg !18
  %333 = load i64, i64* %332, align 8, !dbg !18, !tbaa !184
  %334 = trunc i64 %333 to i32, !dbg !18
  %335 = icmp eq i32 %334, 16, !dbg !18
  br i1 %335, label %assert_end338, label %assert_fail337, !dbg !18, !prof !19

assert_fail337:                                   ; preds = %assert_end336
  %336 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %336(i8* getelementptr inbounds ([187 x i8], [187 x i8]* @.str.42, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end338:                                    ; preds = %assert_end336
  %337 = getelementptr inbounds i64, i64* %default_function.ph.shape64, i64 2, !dbg !18
  %338 = load i64, i64* %337, align 8, !dbg !18, !tbaa !186
  %339 = trunc i64 %338 to i32, !dbg !18
  %340 = icmp eq i32 %339, 1, !dbg !18
  br i1 %340, label %assert_end340, label %assert_fail339, !dbg !18, !prof !19

assert_fail339:                                   ; preds = %assert_end338
  %341 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %341(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.43, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end340:                                    ; preds = %assert_end338
  %342 = getelementptr inbounds i64, i64* %default_function.ph.shape64, i64 3, !dbg !18
  %343 = load i64, i64* %342, align 8, !dbg !18, !tbaa !189
  %344 = trunc i64 %343 to i32, !dbg !18
  %345 = icmp eq i32 %344, 1, !dbg !18
  br i1 %345, label %assert_end342, label %assert_fail341, !dbg !18, !prof !19

assert_fail341:                                   ; preds = %assert_end340
  %346 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %346(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.44, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end342:                                    ; preds = %assert_end340
  %347 = icmp eq i64* %default_function.ph.strides65, null, !dbg !18
  br i1 %347, label %if_end344, label %if_then343, !dbg !18, !prof !126

if_then343:                                       ; preds = %assert_end342
  %348 = getelementptr inbounds i64, i64* %default_function.ph.strides65, i64 1, !dbg !18
  %349 = load i64, i64* %348, align 8, !dbg !18, !tbaa !191
  %350 = trunc i64 %349 to i32, !dbg !18
  %351 = icmp eq i32 %350, 1, !dbg !18
  br i1 %351, label %if_end344, label %assert_fail345, !dbg !18, !prof !19

if_end344:                                        ; preds = %assert_end342, %if_then343
  %352 = getelementptr inbounds %1, %1* %ph27960, i64 0, i32 6, !dbg !18
  %353 = load i64, i64* %352, align 8, !dbg !18
  %354 = icmp eq i64 %353, 0, !dbg !18
  br i1 %354, label %assert_end348, label %assert_fail347, !dbg !18, !prof !19

assert_fail345:                                   ; preds = %if_then343
  %355 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %355(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.45, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail347:                                   ; preds = %if_end344
  %356 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %356(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end348:                                    ; preds = %if_end344
  %357 = getelementptr inbounds %1, %1* %ph27960, i64 0, i32 1, i32 0, !dbg !18
  %358 = load i32, i32* %357, align 4, !dbg !18
  %359 = icmp eq i32 %358, 1, !dbg !18
  br i1 %359, label %assert_end350, label %assert_fail349, !dbg !18, !prof !19

assert_fail349:                                   ; preds = %assert_end348
  %360 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %360(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end350:                                    ; preds = %assert_end348
  %361 = getelementptr inbounds %1, %1* %ph27960, i64 0, i32 1, i32 1, !dbg !18
  %362 = load i32, i32* %361, align 4, !dbg !18
  %363 = icmp eq i32 %dev_id, %362, !dbg !18
  br i1 %363, label %assert_end352, label %assert_fail351, !dbg !18, !prof !19

assert_fail351:                                   ; preds = %assert_end350
  %364 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %364(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end352:                                    ; preds = %assert_end350
  %365 = getelementptr inbounds %1, %1* %ph28961, i64 0, i32 2, !dbg !18
  %366 = load i32, i32* %365, align 4, !dbg !18
  %367 = icmp eq i32 %366, 4, !dbg !18
  br i1 %367, label %assert_end356, label %assert_fail353, !dbg !18, !prof !19

assert_fail353:                                   ; preds = %assert_end352
  %368 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %368(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end356:                                    ; preds = %assert_end352
  %369 = getelementptr inbounds %1, %1* %ph28961, i64 0, i32 3, i32 2, !dbg !18
  %370 = load i16, i16* %369, align 2, !dbg !18
  %371 = icmp eq i16 %370, 1, !dbg !18
  %372 = getelementptr inbounds %1, %1* %ph28961, i64 0, i32 3, i32 1, !dbg !18
  %373 = load i8, i8* %372, align 1, !dbg !18
  %374 = icmp eq i8 %373, 32, !dbg !18
  %375 = getelementptr inbounds %1, %1* %ph28961, i64 0, i32 3, i32 0, !dbg !18
  %376 = load i8, i8* %375, align 1, !dbg !18
  %377 = icmp eq i8 %376, 2, !dbg !18
  %378 = and i1 %374, %377, !dbg !18
  %379 = and i1 %371, %378, !dbg !18
  br i1 %379, label %assert_end358, label %assert_fail357, !dbg !18, !prof !19

assert_fail357:                                   ; preds = %assert_end356
  %380 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %380(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end358:                                    ; preds = %assert_end356
  %381 = load i64, i64* %default_function.ph.shape71, align 8, !dbg !18, !tbaa !201
  %382 = trunc i64 %381 to i32, !dbg !18
  %383 = icmp eq i32 %382, 1, !dbg !18
  br i1 %383, label %assert_end360, label %assert_fail359, !dbg !18, !prof !19

assert_fail359:                                   ; preds = %assert_end358
  %384 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %384(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end360:                                    ; preds = %assert_end358
  %385 = getelementptr inbounds i64, i64* %default_function.ph.shape71, i64 1, !dbg !18
  %386 = load i64, i64* %385, align 8, !dbg !18, !tbaa !211
  %387 = trunc i64 %386 to i32, !dbg !18
  %388 = icmp eq i32 %387, 64, !dbg !18
  br i1 %388, label %assert_end362, label %assert_fail361, !dbg !18, !prof !19

assert_fail361:                                   ; preds = %assert_end360
  %389 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %389(i8* getelementptr inbounds ([187 x i8], [187 x i8]* @.str.46, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end362:                                    ; preds = %assert_end360
  %390 = getelementptr inbounds i64, i64* %default_function.ph.shape71, i64 2, !dbg !18
  %391 = load i64, i64* %390, align 8, !dbg !18, !tbaa !213
  %392 = trunc i64 %391 to i32, !dbg !18
  %393 = icmp eq i32 %392, 1, !dbg !18
  br i1 %393, label %assert_end364, label %assert_fail363, !dbg !18, !prof !19

assert_fail363:                                   ; preds = %assert_end362
  %394 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %394(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.43, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end364:                                    ; preds = %assert_end362
  %395 = getelementptr inbounds i64, i64* %default_function.ph.shape71, i64 3, !dbg !18
  %396 = load i64, i64* %395, align 8, !dbg !18, !tbaa !216
  %397 = trunc i64 %396 to i32, !dbg !18
  %398 = icmp eq i32 %397, 1, !dbg !18
  br i1 %398, label %assert_end366, label %assert_fail365, !dbg !18, !prof !19

assert_fail365:                                   ; preds = %assert_end364
  %399 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %399(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.44, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end366:                                    ; preds = %assert_end364
  %400 = icmp eq i64* %default_function.ph.strides72, null, !dbg !18
  br i1 %400, label %if_end368, label %if_then367, !dbg !18, !prof !126

if_then367:                                       ; preds = %assert_end366
  %401 = getelementptr inbounds i64, i64* %default_function.ph.strides72, i64 1, !dbg !18
  %402 = load i64, i64* %401, align 8, !dbg !18, !tbaa !218
  %403 = trunc i64 %402 to i32, !dbg !18
  %404 = icmp eq i32 %403, 1, !dbg !18
  br i1 %404, label %if_end368, label %assert_fail369, !dbg !18, !prof !19

if_end368:                                        ; preds = %assert_end366, %if_then367
  %405 = getelementptr inbounds %1, %1* %ph28961, i64 0, i32 6, !dbg !18
  %406 = load i64, i64* %405, align 8, !dbg !18
  %407 = icmp eq i64 %406, 0, !dbg !18
  br i1 %407, label %assert_end372, label %assert_fail371, !dbg !18, !prof !19

assert_fail369:                                   ; preds = %if_then367
  %408 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %408(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.45, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail371:                                   ; preds = %if_end368
  %409 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %409(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end372:                                    ; preds = %if_end368
  %410 = getelementptr inbounds %1, %1* %ph28961, i64 0, i32 1, i32 0, !dbg !18
  %411 = load i32, i32* %410, align 4, !dbg !18
  %412 = icmp eq i32 %411, 1, !dbg !18
  br i1 %412, label %assert_end374, label %assert_fail373, !dbg !18, !prof !19

assert_fail373:                                   ; preds = %assert_end372
  %413 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %413(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end374:                                    ; preds = %assert_end372
  %414 = getelementptr inbounds %1, %1* %ph28961, i64 0, i32 1, i32 1, !dbg !18
  %415 = load i32, i32* %414, align 4, !dbg !18
  %416 = icmp eq i32 %dev_id, %415, !dbg !18
  br i1 %416, label %assert_end376, label %assert_fail375, !dbg !18, !prof !19

assert_fail375:                                   ; preds = %assert_end374
  %417 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %417(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end376:                                    ; preds = %assert_end374
  %418 = getelementptr inbounds %1, %1* %ph29962, i64 0, i32 2, !dbg !18
  %419 = load i32, i32* %418, align 4, !dbg !18
  %420 = icmp eq i32 %419, 4, !dbg !18
  br i1 %420, label %assert_end380, label %assert_fail377, !dbg !18, !prof !19

assert_fail377:                                   ; preds = %assert_end376
  %421 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %421(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end380:                                    ; preds = %assert_end376
  %422 = getelementptr inbounds %1, %1* %ph29962, i64 0, i32 3, i32 2, !dbg !18
  %423 = load i16, i16* %422, align 2, !dbg !18
  %424 = icmp eq i16 %423, 1, !dbg !18
  %425 = getelementptr inbounds %1, %1* %ph29962, i64 0, i32 3, i32 1, !dbg !18
  %426 = load i8, i8* %425, align 1, !dbg !18
  %427 = icmp eq i8 %426, 32, !dbg !18
  %428 = getelementptr inbounds %1, %1* %ph29962, i64 0, i32 3, i32 0, !dbg !18
  %429 = load i8, i8* %428, align 1, !dbg !18
  %430 = icmp eq i8 %429, 2, !dbg !18
  %431 = and i1 %427, %430, !dbg !18
  %432 = and i1 %424, %431, !dbg !18
  br i1 %432, label %assert_end382, label %assert_fail381, !dbg !18, !prof !19

assert_fail381:                                   ; preds = %assert_end380
  %433 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %433(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end382:                                    ; preds = %assert_end380
  %434 = load i64, i64* %default_function.ph.shape78, align 8, !dbg !18, !tbaa !228
  %435 = trunc i64 %434 to i32, !dbg !18
  %436 = icmp eq i32 %435, 1, !dbg !18
  br i1 %436, label %assert_end384, label %assert_fail383, !dbg !18, !prof !19

assert_fail383:                                   ; preds = %assert_end382
  %437 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %437(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end384:                                    ; preds = %assert_end382
  %438 = getelementptr inbounds i64, i64* %default_function.ph.shape78, i64 1, !dbg !18
  %439 = load i64, i64* %438, align 8, !dbg !18, !tbaa !238
  %440 = trunc i64 %439 to i32, !dbg !18
  %441 = icmp eq i32 %440, 64, !dbg !18
  br i1 %441, label %assert_end386, label %assert_fail385, !dbg !18, !prof !19

assert_fail385:                                   ; preds = %assert_end384
  %442 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %442(i8* getelementptr inbounds ([187 x i8], [187 x i8]* @.str.46, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end386:                                    ; preds = %assert_end384
  %443 = getelementptr inbounds i64, i64* %default_function.ph.shape78, i64 2, !dbg !18
  %444 = load i64, i64* %443, align 8, !dbg !18, !tbaa !240
  %445 = trunc i64 %444 to i32, !dbg !18
  %446 = icmp eq i32 %445, 3, !dbg !18
  br i1 %446, label %assert_end388, label %assert_fail387, !dbg !18, !prof !19

assert_fail387:                                   ; preds = %assert_end386
  %447 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %447(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.47, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end388:                                    ; preds = %assert_end386
  %448 = getelementptr inbounds i64, i64* %default_function.ph.shape78, i64 3, !dbg !18
  %449 = load i64, i64* %448, align 8, !dbg !18, !tbaa !243
  %450 = trunc i64 %449 to i32, !dbg !18
  %451 = icmp eq i32 %450, 3, !dbg !18
  br i1 %451, label %assert_end390, label %assert_fail389, !dbg !18, !prof !19

assert_fail389:                                   ; preds = %assert_end388
  %452 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %452(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.48, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end390:                                    ; preds = %assert_end388
  %453 = icmp eq i64* %default_function.ph.strides79, null, !dbg !18
  br i1 %453, label %if_end392, label %if_then391, !dbg !18, !prof !126

if_then391:                                       ; preds = %assert_end390
  %454 = getelementptr inbounds i64, i64* %default_function.ph.strides79, i64 1, !dbg !18
  %455 = load i64, i64* %454, align 8, !dbg !18, !tbaa !245
  %456 = trunc i64 %455 to i32, !dbg !18
  %457 = icmp eq i32 %456, 9, !dbg !18
  %458 = getelementptr inbounds i64, i64* %default_function.ph.strides79, i64 2, !dbg !18
  %459 = load i64, i64* %458, align 8, !dbg !18, !tbaa !255
  %460 = trunc i64 %459 to i32, !dbg !18
  %461 = icmp eq i32 %460, 3, !dbg !18
  %462 = getelementptr inbounds i64, i64* %default_function.ph.strides79, i64 3, !dbg !18
  %463 = load i64, i64* %462, align 8, !dbg !18, !tbaa !258
  %464 = trunc i64 %463 to i32, !dbg !18
  %465 = icmp eq i32 %464, 1, !dbg !18
  %466 = and i1 %461, %465, !dbg !18
  %467 = and i1 %457, %466, !dbg !18
  br i1 %467, label %if_end392, label %assert_fail393, !dbg !18, !prof !19

if_end392:                                        ; preds = %assert_end390, %if_then391
  %468 = getelementptr inbounds %1, %1* %ph29962, i64 0, i32 6, !dbg !18
  %469 = load i64, i64* %468, align 8, !dbg !18
  %470 = icmp eq i64 %469, 0, !dbg !18
  br i1 %470, label %assert_end396, label %assert_fail395, !dbg !18, !prof !19

assert_fail393:                                   ; preds = %if_then391
  %471 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %471(i8* getelementptr inbounds ([239 x i8], [239 x i8]* @.str.49, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail395:                                   ; preds = %if_end392
  %472 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %472(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end396:                                    ; preds = %if_end392
  %473 = getelementptr inbounds %1, %1* %ph29962, i64 0, i32 1, i32 0, !dbg !18
  %474 = load i32, i32* %473, align 4, !dbg !18
  %475 = icmp eq i32 %474, 1, !dbg !18
  br i1 %475, label %assert_end398, label %assert_fail397, !dbg !18, !prof !19

assert_fail397:                                   ; preds = %assert_end396
  %476 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %476(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end398:                                    ; preds = %assert_end396
  %477 = getelementptr inbounds %1, %1* %ph29962, i64 0, i32 1, i32 1, !dbg !18
  %478 = load i32, i32* %477, align 4, !dbg !18
  %479 = icmp eq i32 %dev_id, %478, !dbg !18
  br i1 %479, label %assert_end400, label %assert_fail399, !dbg !18, !prof !19

assert_fail399:                                   ; preds = %assert_end398
  %480 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %480(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end400:                                    ; preds = %assert_end398
  %481 = getelementptr inbounds %1, %1* %ph30963, i64 0, i32 2, !dbg !18
  %482 = load i32, i32* %481, align 4, !dbg !18
  %483 = icmp eq i32 %482, 4, !dbg !18
  br i1 %483, label %assert_end404, label %assert_fail401, !dbg !18, !prof !19

assert_fail401:                                   ; preds = %assert_end400
  %484 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %484(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end404:                                    ; preds = %assert_end400
  %485 = getelementptr inbounds %1, %1* %ph30963, i64 0, i32 3, i32 2, !dbg !18
  %486 = load i16, i16* %485, align 2, !dbg !18
  %487 = icmp eq i16 %486, 1, !dbg !18
  %488 = getelementptr inbounds %1, %1* %ph30963, i64 0, i32 3, i32 1, !dbg !18
  %489 = load i8, i8* %488, align 1, !dbg !18
  %490 = icmp eq i8 %489, 32, !dbg !18
  %491 = getelementptr inbounds %1, %1* %ph30963, i64 0, i32 3, i32 0, !dbg !18
  %492 = load i8, i8* %491, align 1, !dbg !18
  %493 = icmp eq i8 %492, 2, !dbg !18
  %494 = and i1 %490, %493, !dbg !18
  %495 = and i1 %487, %494, !dbg !18
  br i1 %495, label %assert_end406, label %assert_fail405, !dbg !18, !prof !19

assert_fail405:                                   ; preds = %assert_end404
  %496 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %496(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end406:                                    ; preds = %assert_end404
  %497 = load i64, i64* %default_function.ph.shape85, align 8, !dbg !18, !tbaa !260
  %498 = trunc i64 %497 to i32, !dbg !18
  %499 = icmp eq i32 %498, 1, !dbg !18
  br i1 %499, label %assert_end408, label %assert_fail407, !dbg !18, !prof !19

assert_fail407:                                   ; preds = %assert_end406
  %500 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %500(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end408:                                    ; preds = %assert_end406
  %501 = getelementptr inbounds i64, i64* %default_function.ph.shape85, i64 1, !dbg !18
  %502 = load i64, i64* %501, align 8, !dbg !18, !tbaa !270
  %503 = trunc i64 %502 to i32, !dbg !18
  %504 = icmp eq i32 %503, 16, !dbg !18
  br i1 %504, label %assert_end410, label %assert_fail409, !dbg !18, !prof !19

assert_fail409:                                   ; preds = %assert_end408
  %505 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %505(i8* getelementptr inbounds ([187 x i8], [187 x i8]* @.str.42, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end410:                                    ; preds = %assert_end408
  %506 = getelementptr inbounds i64, i64* %default_function.ph.shape85, i64 2, !dbg !18
  %507 = load i64, i64* %506, align 8, !dbg !18, !tbaa !272
  %508 = trunc i64 %507 to i32, !dbg !18
  %509 = icmp eq i32 %508, 1, !dbg !18
  br i1 %509, label %assert_end412, label %assert_fail411, !dbg !18, !prof !19

assert_fail411:                                   ; preds = %assert_end410
  %510 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %510(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.43, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end412:                                    ; preds = %assert_end410
  %511 = getelementptr inbounds i64, i64* %default_function.ph.shape85, i64 3, !dbg !18
  %512 = load i64, i64* %511, align 8, !dbg !18, !tbaa !275
  %513 = trunc i64 %512 to i32, !dbg !18
  %514 = icmp eq i32 %513, 1, !dbg !18
  br i1 %514, label %assert_end414, label %assert_fail413, !dbg !18, !prof !19

assert_fail413:                                   ; preds = %assert_end412
  %515 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %515(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.44, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end414:                                    ; preds = %assert_end412
  %516 = icmp eq i64* %default_function.ph.strides86, null, !dbg !18
  br i1 %516, label %if_end416, label %if_then415, !dbg !18, !prof !126

if_then415:                                       ; preds = %assert_end414
  %517 = getelementptr inbounds i64, i64* %default_function.ph.strides86, i64 1, !dbg !18
  %518 = load i64, i64* %517, align 8, !dbg !18, !tbaa !277
  %519 = trunc i64 %518 to i32, !dbg !18
  %520 = icmp eq i32 %519, 1, !dbg !18
  br i1 %520, label %if_end416, label %assert_fail417, !dbg !18, !prof !19

if_end416:                                        ; preds = %assert_end414, %if_then415
  %521 = getelementptr inbounds %1, %1* %ph30963, i64 0, i32 6, !dbg !18
  %522 = load i64, i64* %521, align 8, !dbg !18
  %523 = icmp eq i64 %522, 0, !dbg !18
  br i1 %523, label %assert_end420, label %assert_fail419, !dbg !18, !prof !19

assert_fail417:                                   ; preds = %if_then415
  %524 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %524(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.45, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail419:                                   ; preds = %if_end416
  %525 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %525(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end420:                                    ; preds = %if_end416
  %526 = getelementptr inbounds %1, %1* %ph30963, i64 0, i32 1, i32 0, !dbg !18
  %527 = load i32, i32* %526, align 4, !dbg !18
  %528 = icmp eq i32 %527, 1, !dbg !18
  br i1 %528, label %assert_end422, label %assert_fail421, !dbg !18, !prof !19

assert_fail421:                                   ; preds = %assert_end420
  %529 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %529(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end422:                                    ; preds = %assert_end420
  %530 = getelementptr inbounds %1, %1* %ph30963, i64 0, i32 1, i32 1, !dbg !18
  %531 = load i32, i32* %530, align 4, !dbg !18
  %532 = icmp eq i32 %dev_id, %531, !dbg !18
  br i1 %532, label %assert_end424, label %assert_fail423, !dbg !18, !prof !19

assert_fail423:                                   ; preds = %assert_end422
  %533 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %533(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end424:                                    ; preds = %assert_end422
  %534 = getelementptr inbounds %1, %1* %ph31964, i64 0, i32 2, !dbg !18
  %535 = load i32, i32* %534, align 4, !dbg !18
  %536 = icmp eq i32 %535, 4, !dbg !18
  br i1 %536, label %assert_end428, label %assert_fail425, !dbg !18, !prof !19

assert_fail425:                                   ; preds = %assert_end424
  %537 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %537(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end428:                                    ; preds = %assert_end424
  %538 = getelementptr inbounds %1, %1* %ph31964, i64 0, i32 3, i32 2, !dbg !18
  %539 = load i16, i16* %538, align 2, !dbg !18
  %540 = icmp eq i16 %539, 1, !dbg !18
  %541 = getelementptr inbounds %1, %1* %ph31964, i64 0, i32 3, i32 1, !dbg !18
  %542 = load i8, i8* %541, align 1, !dbg !18
  %543 = icmp eq i8 %542, 32, !dbg !18
  %544 = getelementptr inbounds %1, %1* %ph31964, i64 0, i32 3, i32 0, !dbg !18
  %545 = load i8, i8* %544, align 1, !dbg !18
  %546 = icmp eq i8 %545, 2, !dbg !18
  %547 = and i1 %543, %546, !dbg !18
  %548 = and i1 %540, %547, !dbg !18
  br i1 %548, label %assert_end430, label %assert_fail429, !dbg !18, !prof !19

assert_fail429:                                   ; preds = %assert_end428
  %549 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %549(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end430:                                    ; preds = %assert_end428
  %550 = load i64, i64* %default_function.ph.shape92, align 8, !dbg !18, !tbaa !287
  %551 = trunc i64 %550 to i32, !dbg !18
  %552 = icmp eq i32 %551, 1, !dbg !18
  br i1 %552, label %assert_end432, label %assert_fail431, !dbg !18, !prof !19

assert_fail431:                                   ; preds = %assert_end430
  %553 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %553(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end432:                                    ; preds = %assert_end430
  %554 = getelementptr inbounds i64, i64* %default_function.ph.shape92, i64 1, !dbg !18
  %555 = load i64, i64* %554, align 8, !dbg !18, !tbaa !297
  %556 = trunc i64 %555 to i32, !dbg !18
  %557 = icmp eq i32 %556, 64, !dbg !18
  br i1 %557, label %assert_end434, label %assert_fail433, !dbg !18, !prof !19

assert_fail433:                                   ; preds = %assert_end432
  %558 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %558(i8* getelementptr inbounds ([187 x i8], [187 x i8]* @.str.46, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end434:                                    ; preds = %assert_end432
  %559 = getelementptr inbounds i64, i64* %default_function.ph.shape92, i64 2, !dbg !18
  %560 = load i64, i64* %559, align 8, !dbg !18, !tbaa !299
  %561 = trunc i64 %560 to i32, !dbg !18
  %562 = icmp eq i32 %561, 1, !dbg !18
  br i1 %562, label %assert_end436, label %assert_fail435, !dbg !18, !prof !19

assert_fail435:                                   ; preds = %assert_end434
  %563 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %563(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.43, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end436:                                    ; preds = %assert_end434
  %564 = getelementptr inbounds i64, i64* %default_function.ph.shape92, i64 3, !dbg !18
  %565 = load i64, i64* %564, align 8, !dbg !18, !tbaa !302
  %566 = trunc i64 %565 to i32, !dbg !18
  %567 = icmp eq i32 %566, 1, !dbg !18
  br i1 %567, label %assert_end438, label %assert_fail437, !dbg !18, !prof !19

assert_fail437:                                   ; preds = %assert_end436
  %568 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %568(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.44, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end438:                                    ; preds = %assert_end436
  %569 = icmp eq i64* %default_function.ph.strides93, null, !dbg !18
  br i1 %569, label %if_end440, label %if_then439, !dbg !18, !prof !126

if_then439:                                       ; preds = %assert_end438
  %570 = getelementptr inbounds i64, i64* %default_function.ph.strides93, i64 1, !dbg !18
  %571 = load i64, i64* %570, align 8, !dbg !18, !tbaa !304
  %572 = trunc i64 %571 to i32, !dbg !18
  %573 = icmp eq i32 %572, 1, !dbg !18
  br i1 %573, label %if_end440, label %assert_fail441, !dbg !18, !prof !19

if_end440:                                        ; preds = %assert_end438, %if_then439
  %574 = getelementptr inbounds %1, %1* %ph31964, i64 0, i32 6, !dbg !18
  %575 = load i64, i64* %574, align 8, !dbg !18
  %576 = icmp eq i64 %575, 0, !dbg !18
  br i1 %576, label %assert_end444, label %assert_fail443, !dbg !18, !prof !19

assert_fail441:                                   ; preds = %if_then439
  %577 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %577(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.45, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail443:                                   ; preds = %if_end440
  %578 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %578(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end444:                                    ; preds = %if_end440
  %579 = getelementptr inbounds %1, %1* %ph31964, i64 0, i32 1, i32 0, !dbg !18
  %580 = load i32, i32* %579, align 4, !dbg !18
  %581 = icmp eq i32 %580, 1, !dbg !18
  br i1 %581, label %assert_end446, label %assert_fail445, !dbg !18, !prof !19

assert_fail445:                                   ; preds = %assert_end444
  %582 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %582(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end446:                                    ; preds = %assert_end444
  %583 = getelementptr inbounds %1, %1* %ph31964, i64 0, i32 1, i32 1, !dbg !18
  %584 = load i32, i32* %583, align 4, !dbg !18
  %585 = icmp eq i32 %dev_id, %584, !dbg !18
  br i1 %585, label %assert_end448, label %assert_fail447, !dbg !18, !prof !19

assert_fail447:                                   ; preds = %assert_end446
  %586 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %586(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end448:                                    ; preds = %assert_end446
  %587 = getelementptr inbounds %1, %1* %ph32965, i64 0, i32 2, !dbg !18
  %588 = load i32, i32* %587, align 4, !dbg !18
  %589 = icmp eq i32 %588, 4, !dbg !18
  br i1 %589, label %assert_end452, label %assert_fail449, !dbg !18, !prof !19

assert_fail449:                                   ; preds = %assert_end448
  %590 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %590(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end452:                                    ; preds = %assert_end448
  %591 = getelementptr inbounds %1, %1* %ph32965, i64 0, i32 3, i32 2, !dbg !18
  %592 = load i16, i16* %591, align 2, !dbg !18
  %593 = icmp eq i16 %592, 1, !dbg !18
  %594 = getelementptr inbounds %1, %1* %ph32965, i64 0, i32 3, i32 1, !dbg !18
  %595 = load i8, i8* %594, align 1, !dbg !18
  %596 = icmp eq i8 %595, 32, !dbg !18
  %597 = getelementptr inbounds %1, %1* %ph32965, i64 0, i32 3, i32 0, !dbg !18
  %598 = load i8, i8* %597, align 1, !dbg !18
  %599 = icmp eq i8 %598, 2, !dbg !18
  %600 = and i1 %596, %599, !dbg !18
  %601 = and i1 %593, %600, !dbg !18
  br i1 %601, label %assert_end454, label %assert_fail453, !dbg !18, !prof !19

assert_fail453:                                   ; preds = %assert_end452
  %602 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %602(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end454:                                    ; preds = %assert_end452
  %603 = load i64, i64* %default_function.ph.shape99, align 8, !dbg !18, !tbaa !314
  %604 = trunc i64 %603 to i32, !dbg !18
  %605 = icmp eq i32 %604, 1, !dbg !18
  br i1 %605, label %assert_end456, label %assert_fail455, !dbg !18, !prof !19

assert_fail455:                                   ; preds = %assert_end454
  %606 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %606(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end456:                                    ; preds = %assert_end454
  %607 = getelementptr inbounds i64, i64* %default_function.ph.shape99, i64 1, !dbg !18
  %608 = load i64, i64* %607, align 8, !dbg !18, !tbaa !324
  %609 = trunc i64 %608 to i32, !dbg !18
  %610 = icmp eq i32 %609, 64, !dbg !18
  br i1 %610, label %assert_end458, label %assert_fail457, !dbg !18, !prof !19

assert_fail457:                                   ; preds = %assert_end456
  %611 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %611(i8* getelementptr inbounds ([187 x i8], [187 x i8]* @.str.46, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end458:                                    ; preds = %assert_end456
  %612 = getelementptr inbounds i64, i64* %default_function.ph.shape99, i64 2, !dbg !18
  %613 = load i64, i64* %612, align 8, !dbg !18, !tbaa !326
  %614 = trunc i64 %613 to i32, !dbg !18
  %615 = icmp eq i32 %614, 3, !dbg !18
  br i1 %615, label %assert_end460, label %assert_fail459, !dbg !18, !prof !19

assert_fail459:                                   ; preds = %assert_end458
  %616 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %616(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.47, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end460:                                    ; preds = %assert_end458
  %617 = getelementptr inbounds i64, i64* %default_function.ph.shape99, i64 3, !dbg !18
  %618 = load i64, i64* %617, align 8, !dbg !18, !tbaa !329
  %619 = trunc i64 %618 to i32, !dbg !18
  %620 = icmp eq i32 %619, 3, !dbg !18
  br i1 %620, label %assert_end462, label %assert_fail461, !dbg !18, !prof !19

assert_fail461:                                   ; preds = %assert_end460
  %621 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %621(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.48, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end462:                                    ; preds = %assert_end460
  %622 = icmp eq i64* %default_function.ph.strides100, null, !dbg !18
  br i1 %622, label %if_end464, label %if_then463, !dbg !18, !prof !126

if_then463:                                       ; preds = %assert_end462
  %623 = getelementptr inbounds i64, i64* %default_function.ph.strides100, i64 1, !dbg !18
  %624 = load i64, i64* %623, align 8, !dbg !18, !tbaa !331
  %625 = trunc i64 %624 to i32, !dbg !18
  %626 = icmp eq i32 %625, 9, !dbg !18
  %627 = getelementptr inbounds i64, i64* %default_function.ph.strides100, i64 2, !dbg !18
  %628 = load i64, i64* %627, align 8, !dbg !18, !tbaa !341
  %629 = trunc i64 %628 to i32, !dbg !18
  %630 = icmp eq i32 %629, 3, !dbg !18
  %631 = getelementptr inbounds i64, i64* %default_function.ph.strides100, i64 3, !dbg !18
  %632 = load i64, i64* %631, align 8, !dbg !18, !tbaa !344
  %633 = trunc i64 %632 to i32, !dbg !18
  %634 = icmp eq i32 %633, 1, !dbg !18
  %635 = and i1 %630, %634, !dbg !18
  %636 = and i1 %626, %635, !dbg !18
  br i1 %636, label %if_end464, label %assert_fail465, !dbg !18, !prof !19

if_end464:                                        ; preds = %assert_end462, %if_then463
  %637 = getelementptr inbounds %1, %1* %ph32965, i64 0, i32 6, !dbg !18
  %638 = load i64, i64* %637, align 8, !dbg !18
  %639 = icmp eq i64 %638, 0, !dbg !18
  br i1 %639, label %assert_end468, label %assert_fail467, !dbg !18, !prof !19

assert_fail465:                                   ; preds = %if_then463
  %640 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %640(i8* getelementptr inbounds ([239 x i8], [239 x i8]* @.str.49, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail467:                                   ; preds = %if_end464
  %641 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %641(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end468:                                    ; preds = %if_end464
  %642 = getelementptr inbounds %1, %1* %ph32965, i64 0, i32 1, i32 0, !dbg !18
  %643 = load i32, i32* %642, align 4, !dbg !18
  %644 = icmp eq i32 %643, 1, !dbg !18
  br i1 %644, label %assert_end470, label %assert_fail469, !dbg !18, !prof !19

assert_fail469:                                   ; preds = %assert_end468
  %645 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %645(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end470:                                    ; preds = %assert_end468
  %646 = getelementptr inbounds %1, %1* %ph32965, i64 0, i32 1, i32 1, !dbg !18
  %647 = load i32, i32* %646, align 4, !dbg !18
  %648 = icmp eq i32 %dev_id, %647, !dbg !18
  br i1 %648, label %assert_end472, label %assert_fail471, !dbg !18, !prof !19

assert_fail471:                                   ; preds = %assert_end470
  %649 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %649(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end472:                                    ; preds = %assert_end470
  %650 = getelementptr inbounds %1, %1* %ph33966, i64 0, i32 2, !dbg !18
  %651 = load i32, i32* %650, align 4, !dbg !18
  %652 = icmp eq i32 %651, 4, !dbg !18
  br i1 %652, label %assert_end476, label %assert_fail473, !dbg !18, !prof !19

assert_fail473:                                   ; preds = %assert_end472
  %653 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %653(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end476:                                    ; preds = %assert_end472
  %654 = getelementptr inbounds %1, %1* %ph33966, i64 0, i32 3, i32 2, !dbg !18
  %655 = load i16, i16* %654, align 2, !dbg !18
  %656 = icmp eq i16 %655, 1, !dbg !18
  %657 = getelementptr inbounds %1, %1* %ph33966, i64 0, i32 3, i32 1, !dbg !18
  %658 = load i8, i8* %657, align 1, !dbg !18
  %659 = icmp eq i8 %658, 32, !dbg !18
  %660 = getelementptr inbounds %1, %1* %ph33966, i64 0, i32 3, i32 0, !dbg !18
  %661 = load i8, i8* %660, align 1, !dbg !18
  %662 = icmp eq i8 %661, 2, !dbg !18
  %663 = and i1 %659, %662, !dbg !18
  %664 = and i1 %656, %663, !dbg !18
  br i1 %664, label %assert_end478, label %assert_fail477, !dbg !18, !prof !19

assert_fail477:                                   ; preds = %assert_end476
  %665 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %665(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end478:                                    ; preds = %assert_end476
  %666 = load i64, i64* %default_function.ph.shape106, align 8, !dbg !18, !tbaa !346
  %667 = trunc i64 %666 to i32, !dbg !18
  %668 = icmp eq i32 %667, 1, !dbg !18
  br i1 %668, label %assert_end480, label %assert_fail479, !dbg !18, !prof !19

assert_fail479:                                   ; preds = %assert_end478
  %669 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %669(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end480:                                    ; preds = %assert_end478
  %670 = getelementptr inbounds i64, i64* %default_function.ph.shape106, i64 1, !dbg !18
  %671 = load i64, i64* %670, align 8, !dbg !18, !tbaa !356
  %672 = trunc i64 %671 to i32, !dbg !18
  %673 = icmp eq i32 %672, 32, !dbg !18
  br i1 %673, label %assert_end482, label %assert_fail481, !dbg !18, !prof !19

assert_fail481:                                   ; preds = %assert_end480
  %674 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %674(i8* getelementptr inbounds ([187 x i8], [187 x i8]* @.str.50, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end482:                                    ; preds = %assert_end480
  %675 = getelementptr inbounds i64, i64* %default_function.ph.shape106, i64 2, !dbg !18
  %676 = load i64, i64* %675, align 8, !dbg !18, !tbaa !358
  %677 = trunc i64 %676 to i32, !dbg !18
  %678 = icmp eq i32 %677, 1, !dbg !18
  br i1 %678, label %assert_end484, label %assert_fail483, !dbg !18, !prof !19

assert_fail483:                                   ; preds = %assert_end482
  %679 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %679(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.43, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end484:                                    ; preds = %assert_end482
  %680 = getelementptr inbounds i64, i64* %default_function.ph.shape106, i64 3, !dbg !18
  %681 = load i64, i64* %680, align 8, !dbg !18, !tbaa !361
  %682 = trunc i64 %681 to i32, !dbg !18
  %683 = icmp eq i32 %682, 1, !dbg !18
  br i1 %683, label %assert_end486, label %assert_fail485, !dbg !18, !prof !19

assert_fail485:                                   ; preds = %assert_end484
  %684 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %684(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.44, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end486:                                    ; preds = %assert_end484
  %685 = icmp eq i64* %default_function.ph.strides107, null, !dbg !18
  br i1 %685, label %if_end488, label %if_then487, !dbg !18, !prof !126

if_then487:                                       ; preds = %assert_end486
  %686 = getelementptr inbounds i64, i64* %default_function.ph.strides107, i64 1, !dbg !18
  %687 = load i64, i64* %686, align 8, !dbg !18, !tbaa !363
  %688 = trunc i64 %687 to i32, !dbg !18
  %689 = icmp eq i32 %688, 1, !dbg !18
  br i1 %689, label %if_end488, label %assert_fail489, !dbg !18, !prof !19

if_end488:                                        ; preds = %assert_end486, %if_then487
  %690 = getelementptr inbounds %1, %1* %ph33966, i64 0, i32 6, !dbg !18
  %691 = load i64, i64* %690, align 8, !dbg !18
  %692 = icmp eq i64 %691, 0, !dbg !18
  br i1 %692, label %assert_end492, label %assert_fail491, !dbg !18, !prof !19

assert_fail489:                                   ; preds = %if_then487
  %693 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %693(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.45, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail491:                                   ; preds = %if_end488
  %694 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %694(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end492:                                    ; preds = %if_end488
  %695 = getelementptr inbounds %1, %1* %ph33966, i64 0, i32 1, i32 0, !dbg !18
  %696 = load i32, i32* %695, align 4, !dbg !18
  %697 = icmp eq i32 %696, 1, !dbg !18
  br i1 %697, label %assert_end494, label %assert_fail493, !dbg !18, !prof !19

assert_fail493:                                   ; preds = %assert_end492
  %698 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %698(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end494:                                    ; preds = %assert_end492
  %699 = getelementptr inbounds %1, %1* %ph33966, i64 0, i32 1, i32 1, !dbg !18
  %700 = load i32, i32* %699, align 4, !dbg !18
  %701 = icmp eq i32 %dev_id, %700, !dbg !18
  br i1 %701, label %assert_end496, label %assert_fail495, !dbg !18, !prof !19

assert_fail495:                                   ; preds = %assert_end494
  %702 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %702(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end496:                                    ; preds = %assert_end494
  %703 = getelementptr inbounds %1, %1* %ph34967, i64 0, i32 2, !dbg !18
  %704 = load i32, i32* %703, align 4, !dbg !18
  %705 = icmp eq i32 %704, 4, !dbg !18
  br i1 %705, label %assert_end500, label %assert_fail497, !dbg !18, !prof !19

assert_fail497:                                   ; preds = %assert_end496
  %706 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %706(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end500:                                    ; preds = %assert_end496
  %707 = getelementptr inbounds %1, %1* %ph34967, i64 0, i32 3, i32 2, !dbg !18
  %708 = load i16, i16* %707, align 2, !dbg !18
  %709 = icmp eq i16 %708, 1, !dbg !18
  %710 = getelementptr inbounds %1, %1* %ph34967, i64 0, i32 3, i32 1, !dbg !18
  %711 = load i8, i8* %710, align 1, !dbg !18
  %712 = icmp eq i8 %711, 32, !dbg !18
  %713 = getelementptr inbounds %1, %1* %ph34967, i64 0, i32 3, i32 0, !dbg !18
  %714 = load i8, i8* %713, align 1, !dbg !18
  %715 = icmp eq i8 %714, 2, !dbg !18
  %716 = and i1 %712, %715, !dbg !18
  %717 = and i1 %709, %716, !dbg !18
  br i1 %717, label %assert_end502, label %assert_fail501, !dbg !18, !prof !19

assert_fail501:                                   ; preds = %assert_end500
  %718 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %718(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end502:                                    ; preds = %assert_end500
  %719 = load i64, i64* %default_function.ph.shape113, align 8, !dbg !18, !tbaa !373
  %720 = trunc i64 %719 to i32, !dbg !18
  %721 = icmp eq i32 %720, 1, !dbg !18
  br i1 %721, label %assert_end504, label %assert_fail503, !dbg !18, !prof !19

assert_fail503:                                   ; preds = %assert_end502
  %722 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %722(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end504:                                    ; preds = %assert_end502
  %723 = getelementptr inbounds i64, i64* %default_function.ph.shape113, i64 1, !dbg !18
  %724 = load i64, i64* %723, align 8, !dbg !18, !tbaa !383
  %725 = trunc i64 %724 to i32, !dbg !18
  %726 = icmp eq i32 %725, 128, !dbg !18
  br i1 %726, label %assert_end506, label %assert_fail505, !dbg !18, !prof !19

assert_fail505:                                   ; preds = %assert_end504
  %727 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %727(i8* getelementptr inbounds ([189 x i8], [189 x i8]* @.str.51, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end506:                                    ; preds = %assert_end504
  %728 = getelementptr inbounds i64, i64* %default_function.ph.shape113, i64 2, !dbg !18
  %729 = load i64, i64* %728, align 8, !dbg !18, !tbaa !385
  %730 = trunc i64 %729 to i32, !dbg !18
  %731 = icmp eq i32 %730, 1, !dbg !18
  br i1 %731, label %assert_end508, label %assert_fail507, !dbg !18, !prof !19

assert_fail507:                                   ; preds = %assert_end506
  %732 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %732(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.43, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end508:                                    ; preds = %assert_end506
  %733 = getelementptr inbounds i64, i64* %default_function.ph.shape113, i64 3, !dbg !18
  %734 = load i64, i64* %733, align 8, !dbg !18, !tbaa !388
  %735 = trunc i64 %734 to i32, !dbg !18
  %736 = icmp eq i32 %735, 1, !dbg !18
  br i1 %736, label %assert_end510, label %assert_fail509, !dbg !18, !prof !19

assert_fail509:                                   ; preds = %assert_end508
  %737 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %737(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.44, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end510:                                    ; preds = %assert_end508
  %738 = icmp eq i64* %default_function.ph.strides114, null, !dbg !18
  br i1 %738, label %if_end512, label %if_then511, !dbg !18, !prof !126

if_then511:                                       ; preds = %assert_end510
  %739 = getelementptr inbounds i64, i64* %default_function.ph.strides114, i64 1, !dbg !18
  %740 = load i64, i64* %739, align 8, !dbg !18, !tbaa !390
  %741 = trunc i64 %740 to i32, !dbg !18
  %742 = icmp eq i32 %741, 1, !dbg !18
  br i1 %742, label %if_end512, label %assert_fail513, !dbg !18, !prof !19

if_end512:                                        ; preds = %assert_end510, %if_then511
  %743 = getelementptr inbounds %1, %1* %ph34967, i64 0, i32 6, !dbg !18
  %744 = load i64, i64* %743, align 8, !dbg !18
  %745 = icmp eq i64 %744, 0, !dbg !18
  br i1 %745, label %assert_end516, label %assert_fail515, !dbg !18, !prof !19

assert_fail513:                                   ; preds = %if_then511
  %746 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %746(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.45, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail515:                                   ; preds = %if_end512
  %747 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %747(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end516:                                    ; preds = %if_end512
  %748 = getelementptr inbounds %1, %1* %ph34967, i64 0, i32 1, i32 0, !dbg !18
  %749 = load i32, i32* %748, align 4, !dbg !18
  %750 = icmp eq i32 %749, 1, !dbg !18
  br i1 %750, label %assert_end518, label %assert_fail517, !dbg !18, !prof !19

assert_fail517:                                   ; preds = %assert_end516
  %751 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %751(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end518:                                    ; preds = %assert_end516
  %752 = getelementptr inbounds %1, %1* %ph34967, i64 0, i32 1, i32 1, !dbg !18
  %753 = load i32, i32* %752, align 4, !dbg !18
  %754 = icmp eq i32 %dev_id, %753, !dbg !18
  br i1 %754, label %assert_end520, label %assert_fail519, !dbg !18, !prof !19

assert_fail519:                                   ; preds = %assert_end518
  %755 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %755(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end520:                                    ; preds = %assert_end518
  %756 = getelementptr inbounds %1, %1* %ph35968, i64 0, i32 2, !dbg !18
  %757 = load i32, i32* %756, align 4, !dbg !18
  %758 = icmp eq i32 %757, 4, !dbg !18
  br i1 %758, label %assert_end524, label %assert_fail521, !dbg !18, !prof !19

assert_fail521:                                   ; preds = %assert_end520
  %759 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %759(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end524:                                    ; preds = %assert_end520
  %760 = getelementptr inbounds %1, %1* %ph35968, i64 0, i32 3, i32 2, !dbg !18
  %761 = load i16, i16* %760, align 2, !dbg !18
  %762 = icmp eq i16 %761, 1, !dbg !18
  %763 = getelementptr inbounds %1, %1* %ph35968, i64 0, i32 3, i32 1, !dbg !18
  %764 = load i8, i8* %763, align 1, !dbg !18
  %765 = icmp eq i8 %764, 32, !dbg !18
  %766 = getelementptr inbounds %1, %1* %ph35968, i64 0, i32 3, i32 0, !dbg !18
  %767 = load i8, i8* %766, align 1, !dbg !18
  %768 = icmp eq i8 %767, 2, !dbg !18
  %769 = and i1 %765, %768, !dbg !18
  %770 = and i1 %762, %769, !dbg !18
  br i1 %770, label %assert_end526, label %assert_fail525, !dbg !18, !prof !19

assert_fail525:                                   ; preds = %assert_end524
  %771 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %771(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end526:                                    ; preds = %assert_end524
  %772 = load i64, i64* %default_function.ph.shape120, align 8, !dbg !18, !tbaa !400
  %773 = trunc i64 %772 to i32, !dbg !18
  %774 = icmp eq i32 %773, 1, !dbg !18
  br i1 %774, label %assert_end528, label %assert_fail527, !dbg !18, !prof !19

assert_fail527:                                   ; preds = %assert_end526
  %775 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %775(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end528:                                    ; preds = %assert_end526
  %776 = getelementptr inbounds i64, i64* %default_function.ph.shape120, i64 1, !dbg !18
  %777 = load i64, i64* %776, align 8, !dbg !18, !tbaa !410
  %778 = trunc i64 %777 to i32, !dbg !18
  %779 = icmp eq i32 %778, 128, !dbg !18
  br i1 %779, label %assert_end530, label %assert_fail529, !dbg !18, !prof !19

assert_fail529:                                   ; preds = %assert_end528
  %780 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %780(i8* getelementptr inbounds ([189 x i8], [189 x i8]* @.str.51, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end530:                                    ; preds = %assert_end528
  %781 = getelementptr inbounds i64, i64* %default_function.ph.shape120, i64 2, !dbg !18
  %782 = load i64, i64* %781, align 8, !dbg !18, !tbaa !412
  %783 = trunc i64 %782 to i32, !dbg !18
  %784 = icmp eq i32 %783, 3, !dbg !18
  br i1 %784, label %assert_end532, label %assert_fail531, !dbg !18, !prof !19

assert_fail531:                                   ; preds = %assert_end530
  %785 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %785(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.47, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end532:                                    ; preds = %assert_end530
  %786 = getelementptr inbounds i64, i64* %default_function.ph.shape120, i64 3, !dbg !18
  %787 = load i64, i64* %786, align 8, !dbg !18, !tbaa !415
  %788 = trunc i64 %787 to i32, !dbg !18
  %789 = icmp eq i32 %788, 3, !dbg !18
  br i1 %789, label %assert_end534, label %assert_fail533, !dbg !18, !prof !19

assert_fail533:                                   ; preds = %assert_end532
  %790 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %790(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.48, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end534:                                    ; preds = %assert_end532
  %791 = icmp eq i64* %default_function.ph.strides121, null, !dbg !18
  br i1 %791, label %if_end536, label %if_then535, !dbg !18, !prof !126

if_then535:                                       ; preds = %assert_end534
  %792 = getelementptr inbounds i64, i64* %default_function.ph.strides121, i64 1, !dbg !18
  %793 = load i64, i64* %792, align 8, !dbg !18, !tbaa !417
  %794 = trunc i64 %793 to i32, !dbg !18
  %795 = icmp eq i32 %794, 9, !dbg !18
  %796 = getelementptr inbounds i64, i64* %default_function.ph.strides121, i64 2, !dbg !18
  %797 = load i64, i64* %796, align 8, !dbg !18, !tbaa !427
  %798 = trunc i64 %797 to i32, !dbg !18
  %799 = icmp eq i32 %798, 3, !dbg !18
  %800 = getelementptr inbounds i64, i64* %default_function.ph.strides121, i64 3, !dbg !18
  %801 = load i64, i64* %800, align 8, !dbg !18, !tbaa !430
  %802 = trunc i64 %801 to i32, !dbg !18
  %803 = icmp eq i32 %802, 1, !dbg !18
  %804 = and i1 %799, %803, !dbg !18
  %805 = and i1 %795, %804, !dbg !18
  br i1 %805, label %if_end536, label %assert_fail537, !dbg !18, !prof !19

if_end536:                                        ; preds = %assert_end534, %if_then535
  %806 = getelementptr inbounds %1, %1* %ph35968, i64 0, i32 6, !dbg !18
  %807 = load i64, i64* %806, align 8, !dbg !18
  %808 = icmp eq i64 %807, 0, !dbg !18
  br i1 %808, label %assert_end540, label %assert_fail539, !dbg !18, !prof !19

assert_fail537:                                   ; preds = %if_then535
  %809 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %809(i8* getelementptr inbounds ([239 x i8], [239 x i8]* @.str.49, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail539:                                   ; preds = %if_end536
  %810 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %810(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end540:                                    ; preds = %if_end536
  %811 = getelementptr inbounds %1, %1* %ph35968, i64 0, i32 1, i32 0, !dbg !18
  %812 = load i32, i32* %811, align 4, !dbg !18
  %813 = icmp eq i32 %812, 1, !dbg !18
  br i1 %813, label %assert_end542, label %assert_fail541, !dbg !18, !prof !19

assert_fail541:                                   ; preds = %assert_end540
  %814 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %814(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end542:                                    ; preds = %assert_end540
  %815 = getelementptr inbounds %1, %1* %ph35968, i64 0, i32 1, i32 1, !dbg !18
  %816 = load i32, i32* %815, align 4, !dbg !18
  %817 = icmp eq i32 %dev_id, %816, !dbg !18
  br i1 %817, label %assert_end544, label %assert_fail543, !dbg !18, !prof !19

assert_fail543:                                   ; preds = %assert_end542
  %818 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %818(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end544:                                    ; preds = %assert_end542
  %819 = getelementptr inbounds %1, %1* %ph36969, i64 0, i32 2, !dbg !18
  %820 = load i32, i32* %819, align 4, !dbg !18
  %821 = icmp eq i32 %820, 4, !dbg !18
  br i1 %821, label %assert_end548, label %assert_fail545, !dbg !18, !prof !19

assert_fail545:                                   ; preds = %assert_end544
  %822 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %822(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end548:                                    ; preds = %assert_end544
  %823 = getelementptr inbounds %1, %1* %ph36969, i64 0, i32 3, i32 2, !dbg !18
  %824 = load i16, i16* %823, align 2, !dbg !18
  %825 = icmp eq i16 %824, 1, !dbg !18
  %826 = getelementptr inbounds %1, %1* %ph36969, i64 0, i32 3, i32 1, !dbg !18
  %827 = load i8, i8* %826, align 1, !dbg !18
  %828 = icmp eq i8 %827, 32, !dbg !18
  %829 = getelementptr inbounds %1, %1* %ph36969, i64 0, i32 3, i32 0, !dbg !18
  %830 = load i8, i8* %829, align 1, !dbg !18
  %831 = icmp eq i8 %830, 2, !dbg !18
  %832 = and i1 %828, %831, !dbg !18
  %833 = and i1 %825, %832, !dbg !18
  br i1 %833, label %assert_end550, label %assert_fail549, !dbg !18, !prof !19

assert_fail549:                                   ; preds = %assert_end548
  %834 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %834(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end550:                                    ; preds = %assert_end548
  %835 = load i64, i64* %default_function.ph.shape127, align 8, !dbg !18, !tbaa !432
  %836 = trunc i64 %835 to i32, !dbg !18
  %837 = icmp eq i32 %836, 1, !dbg !18
  br i1 %837, label %assert_end552, label %assert_fail551, !dbg !18, !prof !19

assert_fail551:                                   ; preds = %assert_end550
  %838 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %838(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end552:                                    ; preds = %assert_end550
  %839 = getelementptr inbounds i64, i64* %default_function.ph.shape127, i64 1, !dbg !18
  %840 = load i64, i64* %839, align 8, !dbg !18, !tbaa !442
  %841 = trunc i64 %840 to i32, !dbg !18
  %842 = icmp eq i32 %841, 32, !dbg !18
  br i1 %842, label %assert_end554, label %assert_fail553, !dbg !18, !prof !19

assert_fail553:                                   ; preds = %assert_end552
  %843 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %843(i8* getelementptr inbounds ([187 x i8], [187 x i8]* @.str.50, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end554:                                    ; preds = %assert_end552
  %844 = getelementptr inbounds i64, i64* %default_function.ph.shape127, i64 2, !dbg !18
  %845 = load i64, i64* %844, align 8, !dbg !18, !tbaa !444
  %846 = trunc i64 %845 to i32, !dbg !18
  %847 = icmp eq i32 %846, 1, !dbg !18
  br i1 %847, label %assert_end556, label %assert_fail555, !dbg !18, !prof !19

assert_fail555:                                   ; preds = %assert_end554
  %848 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %848(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.43, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end556:                                    ; preds = %assert_end554
  %849 = getelementptr inbounds i64, i64* %default_function.ph.shape127, i64 3, !dbg !18
  %850 = load i64, i64* %849, align 8, !dbg !18, !tbaa !447
  %851 = trunc i64 %850 to i32, !dbg !18
  %852 = icmp eq i32 %851, 1, !dbg !18
  br i1 %852, label %assert_end558, label %assert_fail557, !dbg !18, !prof !19

assert_fail557:                                   ; preds = %assert_end556
  %853 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %853(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.44, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end558:                                    ; preds = %assert_end556
  %854 = icmp eq i64* %default_function.ph.strides128, null, !dbg !18
  br i1 %854, label %if_end560, label %if_then559, !dbg !18, !prof !126

if_then559:                                       ; preds = %assert_end558
  %855 = getelementptr inbounds i64, i64* %default_function.ph.strides128, i64 1, !dbg !18
  %856 = load i64, i64* %855, align 8, !dbg !18, !tbaa !449
  %857 = trunc i64 %856 to i32, !dbg !18
  %858 = icmp eq i32 %857, 1, !dbg !18
  br i1 %858, label %if_end560, label %assert_fail561, !dbg !18, !prof !19

if_end560:                                        ; preds = %assert_end558, %if_then559
  %859 = getelementptr inbounds %1, %1* %ph36969, i64 0, i32 6, !dbg !18
  %860 = load i64, i64* %859, align 8, !dbg !18
  %861 = icmp eq i64 %860, 0, !dbg !18
  br i1 %861, label %assert_end564, label %assert_fail563, !dbg !18, !prof !19

assert_fail561:                                   ; preds = %if_then559
  %862 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %862(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.45, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail563:                                   ; preds = %if_end560
  %863 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %863(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end564:                                    ; preds = %if_end560
  %864 = getelementptr inbounds %1, %1* %ph36969, i64 0, i32 1, i32 0, !dbg !18
  %865 = load i32, i32* %864, align 4, !dbg !18
  %866 = icmp eq i32 %865, 1, !dbg !18
  br i1 %866, label %assert_end566, label %assert_fail565, !dbg !18, !prof !19

assert_fail565:                                   ; preds = %assert_end564
  %867 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %867(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end566:                                    ; preds = %assert_end564
  %868 = getelementptr inbounds %1, %1* %ph36969, i64 0, i32 1, i32 1, !dbg !18
  %869 = load i32, i32* %868, align 4, !dbg !18
  %870 = icmp eq i32 %dev_id, %869, !dbg !18
  br i1 %870, label %assert_end568, label %assert_fail567, !dbg !18, !prof !19

assert_fail567:                                   ; preds = %assert_end566
  %871 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %871(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end568:                                    ; preds = %assert_end566
  %872 = getelementptr inbounds %1, %1* %ph37970, i64 0, i32 2, !dbg !18
  %873 = load i32, i32* %872, align 4, !dbg !18
  %874 = icmp eq i32 %873, 4, !dbg !18
  br i1 %874, label %assert_end572, label %assert_fail569, !dbg !18, !prof !19

assert_fail569:                                   ; preds = %assert_end568
  %875 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %875(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end572:                                    ; preds = %assert_end568
  %876 = getelementptr inbounds %1, %1* %ph37970, i64 0, i32 3, i32 2, !dbg !18
  %877 = load i16, i16* %876, align 2, !dbg !18
  %878 = icmp eq i16 %877, 1, !dbg !18
  %879 = getelementptr inbounds %1, %1* %ph37970, i64 0, i32 3, i32 1, !dbg !18
  %880 = load i8, i8* %879, align 1, !dbg !18
  %881 = icmp eq i8 %880, 32, !dbg !18
  %882 = getelementptr inbounds %1, %1* %ph37970, i64 0, i32 3, i32 0, !dbg !18
  %883 = load i8, i8* %882, align 1, !dbg !18
  %884 = icmp eq i8 %883, 2, !dbg !18
  %885 = and i1 %881, %884, !dbg !18
  %886 = and i1 %878, %885, !dbg !18
  br i1 %886, label %assert_end574, label %assert_fail573, !dbg !18, !prof !19

assert_fail573:                                   ; preds = %assert_end572
  %887 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %887(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end574:                                    ; preds = %assert_end572
  %888 = load i64, i64* %default_function.ph.shape134, align 8, !dbg !18, !tbaa !459
  %889 = trunc i64 %888 to i32, !dbg !18
  %890 = icmp eq i32 %889, 1, !dbg !18
  br i1 %890, label %assert_end576, label %assert_fail575, !dbg !18, !prof !19

assert_fail575:                                   ; preds = %assert_end574
  %891 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %891(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end576:                                    ; preds = %assert_end574
  %892 = getelementptr inbounds i64, i64* %default_function.ph.shape134, i64 1, !dbg !18
  %893 = load i64, i64* %892, align 8, !dbg !18, !tbaa !469
  %894 = trunc i64 %893 to i32, !dbg !18
  %895 = icmp eq i32 %894, 128, !dbg !18
  br i1 %895, label %assert_end578, label %assert_fail577, !dbg !18, !prof !19

assert_fail577:                                   ; preds = %assert_end576
  %896 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %896(i8* getelementptr inbounds ([189 x i8], [189 x i8]* @.str.51, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end578:                                    ; preds = %assert_end576
  %897 = getelementptr inbounds i64, i64* %default_function.ph.shape134, i64 2, !dbg !18
  %898 = load i64, i64* %897, align 8, !dbg !18, !tbaa !471
  %899 = trunc i64 %898 to i32, !dbg !18
  %900 = icmp eq i32 %899, 1, !dbg !18
  br i1 %900, label %assert_end580, label %assert_fail579, !dbg !18, !prof !19

assert_fail579:                                   ; preds = %assert_end578
  %901 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %901(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.43, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end580:                                    ; preds = %assert_end578
  %902 = getelementptr inbounds i64, i64* %default_function.ph.shape134, i64 3, !dbg !18
  %903 = load i64, i64* %902, align 8, !dbg !18, !tbaa !474
  %904 = trunc i64 %903 to i32, !dbg !18
  %905 = icmp eq i32 %904, 1, !dbg !18
  br i1 %905, label %assert_end582, label %assert_fail581, !dbg !18, !prof !19

assert_fail581:                                   ; preds = %assert_end580
  %906 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %906(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.44, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end582:                                    ; preds = %assert_end580
  %907 = icmp eq i64* %default_function.ph.strides135, null, !dbg !18
  br i1 %907, label %if_end584, label %if_then583, !dbg !18, !prof !126

if_then583:                                       ; preds = %assert_end582
  %908 = getelementptr inbounds i64, i64* %default_function.ph.strides135, i64 1, !dbg !18
  %909 = load i64, i64* %908, align 8, !dbg !18, !tbaa !476
  %910 = trunc i64 %909 to i32, !dbg !18
  %911 = icmp eq i32 %910, 1, !dbg !18
  br i1 %911, label %if_end584, label %assert_fail585, !dbg !18, !prof !19

if_end584:                                        ; preds = %assert_end582, %if_then583
  %912 = getelementptr inbounds %1, %1* %ph37970, i64 0, i32 6, !dbg !18
  %913 = load i64, i64* %912, align 8, !dbg !18
  %914 = icmp eq i64 %913, 0, !dbg !18
  br i1 %914, label %assert_end588, label %assert_fail587, !dbg !18, !prof !19

assert_fail585:                                   ; preds = %if_then583
  %915 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %915(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.45, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail587:                                   ; preds = %if_end584
  %916 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %916(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end588:                                    ; preds = %if_end584
  %917 = getelementptr inbounds %1, %1* %ph37970, i64 0, i32 1, i32 0, !dbg !18
  %918 = load i32, i32* %917, align 4, !dbg !18
  %919 = icmp eq i32 %918, 1, !dbg !18
  br i1 %919, label %assert_end590, label %assert_fail589, !dbg !18, !prof !19

assert_fail589:                                   ; preds = %assert_end588
  %920 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %920(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end590:                                    ; preds = %assert_end588
  %921 = getelementptr inbounds %1, %1* %ph37970, i64 0, i32 1, i32 1, !dbg !18
  %922 = load i32, i32* %921, align 4, !dbg !18
  %923 = icmp eq i32 %dev_id, %922, !dbg !18
  br i1 %923, label %assert_end592, label %assert_fail591, !dbg !18, !prof !19

assert_fail591:                                   ; preds = %assert_end590
  %924 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %924(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end592:                                    ; preds = %assert_end590
  %925 = getelementptr inbounds %1, %1* %ph38971, i64 0, i32 2, !dbg !18
  %926 = load i32, i32* %925, align 4, !dbg !18
  %927 = icmp eq i32 %926, 4, !dbg !18
  br i1 %927, label %assert_end596, label %assert_fail593, !dbg !18, !prof !19

assert_fail593:                                   ; preds = %assert_end592
  %928 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %928(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end596:                                    ; preds = %assert_end592
  %929 = getelementptr inbounds %1, %1* %ph38971, i64 0, i32 3, i32 2, !dbg !18
  %930 = load i16, i16* %929, align 2, !dbg !18
  %931 = icmp eq i16 %930, 1, !dbg !18
  %932 = getelementptr inbounds %1, %1* %ph38971, i64 0, i32 3, i32 1, !dbg !18
  %933 = load i8, i8* %932, align 1, !dbg !18
  %934 = icmp eq i8 %933, 32, !dbg !18
  %935 = getelementptr inbounds %1, %1* %ph38971, i64 0, i32 3, i32 0, !dbg !18
  %936 = load i8, i8* %935, align 1, !dbg !18
  %937 = icmp eq i8 %936, 2, !dbg !18
  %938 = and i1 %934, %937, !dbg !18
  %939 = and i1 %931, %938, !dbg !18
  br i1 %939, label %assert_end598, label %assert_fail597, !dbg !18, !prof !19

assert_fail597:                                   ; preds = %assert_end596
  %940 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %940(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end598:                                    ; preds = %assert_end596
  %941 = load i64, i64* %default_function.ph.shape141, align 8, !dbg !18, !tbaa !486
  %942 = trunc i64 %941 to i32, !dbg !18
  %943 = icmp eq i32 %942, 1, !dbg !18
  br i1 %943, label %assert_end600, label %assert_fail599, !dbg !18, !prof !19

assert_fail599:                                   ; preds = %assert_end598
  %944 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %944(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end600:                                    ; preds = %assert_end598
  %945 = getelementptr inbounds i64, i64* %default_function.ph.shape141, i64 1, !dbg !18
  %946 = load i64, i64* %945, align 8, !dbg !18, !tbaa !496
  %947 = trunc i64 %946 to i32, !dbg !18
  %948 = icmp eq i32 %947, 128, !dbg !18
  br i1 %948, label %assert_end602, label %assert_fail601, !dbg !18, !prof !19

assert_fail601:                                   ; preds = %assert_end600
  %949 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %949(i8* getelementptr inbounds ([189 x i8], [189 x i8]* @.str.51, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end602:                                    ; preds = %assert_end600
  %950 = getelementptr inbounds i64, i64* %default_function.ph.shape141, i64 2, !dbg !18
  %951 = load i64, i64* %950, align 8, !dbg !18, !tbaa !498
  %952 = trunc i64 %951 to i32, !dbg !18
  %953 = icmp eq i32 %952, 3, !dbg !18
  br i1 %953, label %assert_end604, label %assert_fail603, !dbg !18, !prof !19

assert_fail603:                                   ; preds = %assert_end602
  %954 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %954(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.47, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end604:                                    ; preds = %assert_end602
  %955 = getelementptr inbounds i64, i64* %default_function.ph.shape141, i64 3, !dbg !18
  %956 = load i64, i64* %955, align 8, !dbg !18, !tbaa !501
  %957 = trunc i64 %956 to i32, !dbg !18
  %958 = icmp eq i32 %957, 3, !dbg !18
  br i1 %958, label %assert_end606, label %assert_fail605, !dbg !18, !prof !19

assert_fail605:                                   ; preds = %assert_end604
  %959 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %959(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.48, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end606:                                    ; preds = %assert_end604
  %960 = icmp eq i64* %default_function.ph.strides142, null, !dbg !18
  br i1 %960, label %if_end608, label %if_then607, !dbg !18, !prof !126

if_then607:                                       ; preds = %assert_end606
  %961 = getelementptr inbounds i64, i64* %default_function.ph.strides142, i64 1, !dbg !18
  %962 = load i64, i64* %961, align 8, !dbg !18, !tbaa !503
  %963 = trunc i64 %962 to i32, !dbg !18
  %964 = icmp eq i32 %963, 9, !dbg !18
  %965 = getelementptr inbounds i64, i64* %default_function.ph.strides142, i64 2, !dbg !18
  %966 = load i64, i64* %965, align 8, !dbg !18, !tbaa !513
  %967 = trunc i64 %966 to i32, !dbg !18
  %968 = icmp eq i32 %967, 3, !dbg !18
  %969 = getelementptr inbounds i64, i64* %default_function.ph.strides142, i64 3, !dbg !18
  %970 = load i64, i64* %969, align 8, !dbg !18, !tbaa !516
  %971 = trunc i64 %970 to i32, !dbg !18
  %972 = icmp eq i32 %971, 1, !dbg !18
  %973 = and i1 %968, %972, !dbg !18
  %974 = and i1 %964, %973, !dbg !18
  br i1 %974, label %if_end608, label %assert_fail609, !dbg !18, !prof !19

if_end608:                                        ; preds = %assert_end606, %if_then607
  %975 = getelementptr inbounds %1, %1* %ph38971, i64 0, i32 6, !dbg !18
  %976 = load i64, i64* %975, align 8, !dbg !18
  %977 = icmp eq i64 %976, 0, !dbg !18
  br i1 %977, label %assert_end612, label %assert_fail611, !dbg !18, !prof !19

assert_fail609:                                   ; preds = %if_then607
  %978 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %978(i8* getelementptr inbounds ([239 x i8], [239 x i8]* @.str.49, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail611:                                   ; preds = %if_end608
  %979 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %979(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end612:                                    ; preds = %if_end608
  %980 = getelementptr inbounds %1, %1* %ph38971, i64 0, i32 1, i32 0, !dbg !18
  %981 = load i32, i32* %980, align 4, !dbg !18
  %982 = icmp eq i32 %981, 1, !dbg !18
  br i1 %982, label %assert_end614, label %assert_fail613, !dbg !18, !prof !19

assert_fail613:                                   ; preds = %assert_end612
  %983 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %983(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end614:                                    ; preds = %assert_end612
  %984 = getelementptr inbounds %1, %1* %ph38971, i64 0, i32 1, i32 1, !dbg !18
  %985 = load i32, i32* %984, align 4, !dbg !18
  %986 = icmp eq i32 %dev_id, %985, !dbg !18
  br i1 %986, label %assert_end616, label %assert_fail615, !dbg !18, !prof !19

assert_fail615:                                   ; preds = %assert_end614
  %987 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %987(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end616:                                    ; preds = %assert_end614
  %988 = getelementptr inbounds %1, %1* %ph39972, i64 0, i32 2, !dbg !18
  %989 = load i32, i32* %988, align 4, !dbg !18
  %990 = icmp eq i32 %989, 4, !dbg !18
  br i1 %990, label %assert_end620, label %assert_fail617, !dbg !18, !prof !19

assert_fail617:                                   ; preds = %assert_end616
  %991 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %991(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end620:                                    ; preds = %assert_end616
  %992 = getelementptr inbounds %1, %1* %ph39972, i64 0, i32 3, i32 2, !dbg !18
  %993 = load i16, i16* %992, align 2, !dbg !18
  %994 = icmp eq i16 %993, 1, !dbg !18
  %995 = getelementptr inbounds %1, %1* %ph39972, i64 0, i32 3, i32 1, !dbg !18
  %996 = load i8, i8* %995, align 1, !dbg !18
  %997 = icmp eq i8 %996, 32, !dbg !18
  %998 = getelementptr inbounds %1, %1* %ph39972, i64 0, i32 3, i32 0, !dbg !18
  %999 = load i8, i8* %998, align 1, !dbg !18
  %1000 = icmp eq i8 %999, 2, !dbg !18
  %1001 = and i1 %997, %1000, !dbg !18
  %1002 = and i1 %994, %1001, !dbg !18
  br i1 %1002, label %assert_end622, label %assert_fail621, !dbg !18, !prof !19

assert_fail621:                                   ; preds = %assert_end620
  %1003 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1003(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end622:                                    ; preds = %assert_end620
  %1004 = load i64, i64* %default_function.ph.shape148, align 8, !dbg !18, !tbaa !518
  %1005 = trunc i64 %1004 to i32, !dbg !18
  %1006 = icmp eq i32 %1005, 1, !dbg !18
  br i1 %1006, label %assert_end624, label %assert_fail623, !dbg !18, !prof !19

assert_fail623:                                   ; preds = %assert_end622
  %1007 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1007(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end624:                                    ; preds = %assert_end622
  %1008 = getelementptr inbounds i64, i64* %default_function.ph.shape148, i64 1, !dbg !18
  %1009 = load i64, i64* %1008, align 8, !dbg !18, !tbaa !528
  %1010 = trunc i64 %1009 to i32, !dbg !18
  %1011 = icmp eq i32 %1010, 48, !dbg !18
  br i1 %1011, label %assert_end626, label %assert_fail625, !dbg !18, !prof !19

assert_fail625:                                   ; preds = %assert_end624
  %1012 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1012(i8* getelementptr inbounds ([187 x i8], [187 x i8]* @.str.52, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end626:                                    ; preds = %assert_end624
  %1013 = getelementptr inbounds i64, i64* %default_function.ph.shape148, i64 2, !dbg !18
  %1014 = load i64, i64* %1013, align 8, !dbg !18, !tbaa !530
  %1015 = trunc i64 %1014 to i32, !dbg !18
  %1016 = icmp eq i32 %1015, 1, !dbg !18
  br i1 %1016, label %assert_end628, label %assert_fail627, !dbg !18, !prof !19

assert_fail627:                                   ; preds = %assert_end626
  %1017 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1017(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.43, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end628:                                    ; preds = %assert_end626
  %1018 = getelementptr inbounds i64, i64* %default_function.ph.shape148, i64 3, !dbg !18
  %1019 = load i64, i64* %1018, align 8, !dbg !18, !tbaa !533
  %1020 = trunc i64 %1019 to i32, !dbg !18
  %1021 = icmp eq i32 %1020, 1, !dbg !18
  br i1 %1021, label %assert_end630, label %assert_fail629, !dbg !18, !prof !19

assert_fail629:                                   ; preds = %assert_end628
  %1022 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1022(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.44, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end630:                                    ; preds = %assert_end628
  %1023 = icmp eq i64* %default_function.ph.strides149, null, !dbg !18
  br i1 %1023, label %if_end632, label %if_then631, !dbg !18, !prof !126

if_then631:                                       ; preds = %assert_end630
  %1024 = getelementptr inbounds i64, i64* %default_function.ph.strides149, i64 1, !dbg !18
  %1025 = load i64, i64* %1024, align 8, !dbg !18, !tbaa !535
  %1026 = trunc i64 %1025 to i32, !dbg !18
  %1027 = icmp eq i32 %1026, 1, !dbg !18
  br i1 %1027, label %if_end632, label %assert_fail633, !dbg !18, !prof !19

if_end632:                                        ; preds = %assert_end630, %if_then631
  %1028 = getelementptr inbounds %1, %1* %ph39972, i64 0, i32 6, !dbg !18
  %1029 = load i64, i64* %1028, align 8, !dbg !18
  %1030 = icmp eq i64 %1029, 0, !dbg !18
  br i1 %1030, label %assert_end636, label %assert_fail635, !dbg !18, !prof !19

assert_fail633:                                   ; preds = %if_then631
  %1031 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1031(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.45, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail635:                                   ; preds = %if_end632
  %1032 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1032(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end636:                                    ; preds = %if_end632
  %1033 = getelementptr inbounds %1, %1* %ph39972, i64 0, i32 1, i32 0, !dbg !18
  %1034 = load i32, i32* %1033, align 4, !dbg !18
  %1035 = icmp eq i32 %1034, 1, !dbg !18
  br i1 %1035, label %assert_end638, label %assert_fail637, !dbg !18, !prof !19

assert_fail637:                                   ; preds = %assert_end636
  %1036 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1036(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end638:                                    ; preds = %assert_end636
  %1037 = getelementptr inbounds %1, %1* %ph39972, i64 0, i32 1, i32 1, !dbg !18
  %1038 = load i32, i32* %1037, align 4, !dbg !18
  %1039 = icmp eq i32 %dev_id, %1038, !dbg !18
  br i1 %1039, label %assert_end640, label %assert_fail639, !dbg !18, !prof !19

assert_fail639:                                   ; preds = %assert_end638
  %1040 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1040(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end640:                                    ; preds = %assert_end638
  %1041 = getelementptr inbounds %1, %1* %ph40973, i64 0, i32 2, !dbg !18
  %1042 = load i32, i32* %1041, align 4, !dbg !18
  %1043 = icmp eq i32 %1042, 4, !dbg !18
  br i1 %1043, label %assert_end644, label %assert_fail641, !dbg !18, !prof !19

assert_fail641:                                   ; preds = %assert_end640
  %1044 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1044(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end644:                                    ; preds = %assert_end640
  %1045 = getelementptr inbounds %1, %1* %ph40973, i64 0, i32 3, i32 2, !dbg !18
  %1046 = load i16, i16* %1045, align 2, !dbg !18
  %1047 = icmp eq i16 %1046, 1, !dbg !18
  %1048 = getelementptr inbounds %1, %1* %ph40973, i64 0, i32 3, i32 1, !dbg !18
  %1049 = load i8, i8* %1048, align 1, !dbg !18
  %1050 = icmp eq i8 %1049, 32, !dbg !18
  %1051 = getelementptr inbounds %1, %1* %ph40973, i64 0, i32 3, i32 0, !dbg !18
  %1052 = load i8, i8* %1051, align 1, !dbg !18
  %1053 = icmp eq i8 %1052, 2, !dbg !18
  %1054 = and i1 %1050, %1053, !dbg !18
  %1055 = and i1 %1047, %1054, !dbg !18
  br i1 %1055, label %assert_end646, label %assert_fail645, !dbg !18, !prof !19

assert_fail645:                                   ; preds = %assert_end644
  %1056 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1056(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end646:                                    ; preds = %assert_end644
  %1057 = load i64, i64* %default_function.ph.shape155, align 8, !dbg !18, !tbaa !545
  %1058 = trunc i64 %1057 to i32, !dbg !18
  %1059 = icmp eq i32 %1058, 1, !dbg !18
  br i1 %1059, label %assert_end648, label %assert_fail647, !dbg !18, !prof !19

assert_fail647:                                   ; preds = %assert_end646
  %1060 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1060(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end648:                                    ; preds = %assert_end646
  %1061 = getelementptr inbounds i64, i64* %default_function.ph.shape155, i64 1, !dbg !18
  %1062 = load i64, i64* %1061, align 8, !dbg !18, !tbaa !555
  %1063 = trunc i64 %1062 to i32, !dbg !18
  %1064 = icmp eq i32 %1063, 192, !dbg !18
  br i1 %1064, label %assert_end650, label %assert_fail649, !dbg !18, !prof !19

assert_fail649:                                   ; preds = %assert_end648
  %1065 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1065(i8* getelementptr inbounds ([189 x i8], [189 x i8]* @.str.53, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end650:                                    ; preds = %assert_end648
  %1066 = getelementptr inbounds i64, i64* %default_function.ph.shape155, i64 2, !dbg !18
  %1067 = load i64, i64* %1066, align 8, !dbg !18, !tbaa !557
  %1068 = trunc i64 %1067 to i32, !dbg !18
  %1069 = icmp eq i32 %1068, 1, !dbg !18
  br i1 %1069, label %assert_end652, label %assert_fail651, !dbg !18, !prof !19

assert_fail651:                                   ; preds = %assert_end650
  %1070 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1070(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.43, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end652:                                    ; preds = %assert_end650
  %1071 = getelementptr inbounds i64, i64* %default_function.ph.shape155, i64 3, !dbg !18
  %1072 = load i64, i64* %1071, align 8, !dbg !18, !tbaa !560
  %1073 = trunc i64 %1072 to i32, !dbg !18
  %1074 = icmp eq i32 %1073, 1, !dbg !18
  br i1 %1074, label %assert_end654, label %assert_fail653, !dbg !18, !prof !19

assert_fail653:                                   ; preds = %assert_end652
  %1075 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1075(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.44, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end654:                                    ; preds = %assert_end652
  %1076 = icmp eq i64* %default_function.ph.strides156, null, !dbg !18
  br i1 %1076, label %if_end656, label %if_then655, !dbg !18, !prof !126

if_then655:                                       ; preds = %assert_end654
  %1077 = getelementptr inbounds i64, i64* %default_function.ph.strides156, i64 1, !dbg !18
  %1078 = load i64, i64* %1077, align 8, !dbg !18, !tbaa !562
  %1079 = trunc i64 %1078 to i32, !dbg !18
  %1080 = icmp eq i32 %1079, 1, !dbg !18
  br i1 %1080, label %if_end656, label %assert_fail657, !dbg !18, !prof !19

if_end656:                                        ; preds = %assert_end654, %if_then655
  %1081 = getelementptr inbounds %1, %1* %ph40973, i64 0, i32 6, !dbg !18
  %1082 = load i64, i64* %1081, align 8, !dbg !18
  %1083 = icmp eq i64 %1082, 0, !dbg !18
  br i1 %1083, label %assert_end660, label %assert_fail659, !dbg !18, !prof !19

assert_fail657:                                   ; preds = %if_then655
  %1084 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1084(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.45, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail659:                                   ; preds = %if_end656
  %1085 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1085(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end660:                                    ; preds = %if_end656
  %1086 = getelementptr inbounds %1, %1* %ph40973, i64 0, i32 1, i32 0, !dbg !18
  %1087 = load i32, i32* %1086, align 4, !dbg !18
  %1088 = icmp eq i32 %1087, 1, !dbg !18
  br i1 %1088, label %assert_end662, label %assert_fail661, !dbg !18, !prof !19

assert_fail661:                                   ; preds = %assert_end660
  %1089 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1089(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end662:                                    ; preds = %assert_end660
  %1090 = getelementptr inbounds %1, %1* %ph40973, i64 0, i32 1, i32 1, !dbg !18
  %1091 = load i32, i32* %1090, align 4, !dbg !18
  %1092 = icmp eq i32 %dev_id, %1091, !dbg !18
  br i1 %1092, label %assert_end664, label %assert_fail663, !dbg !18, !prof !19

assert_fail663:                                   ; preds = %assert_end662
  %1093 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1093(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end664:                                    ; preds = %assert_end662
  %1094 = getelementptr inbounds %1, %1* %ph41974, i64 0, i32 2, !dbg !18
  %1095 = load i32, i32* %1094, align 4, !dbg !18
  %1096 = icmp eq i32 %1095, 4, !dbg !18
  br i1 %1096, label %assert_end668, label %assert_fail665, !dbg !18, !prof !19

assert_fail665:                                   ; preds = %assert_end664
  %1097 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1097(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end668:                                    ; preds = %assert_end664
  %1098 = getelementptr inbounds %1, %1* %ph41974, i64 0, i32 3, i32 2, !dbg !18
  %1099 = load i16, i16* %1098, align 2, !dbg !18
  %1100 = icmp eq i16 %1099, 1, !dbg !18
  %1101 = getelementptr inbounds %1, %1* %ph41974, i64 0, i32 3, i32 1, !dbg !18
  %1102 = load i8, i8* %1101, align 1, !dbg !18
  %1103 = icmp eq i8 %1102, 32, !dbg !18
  %1104 = getelementptr inbounds %1, %1* %ph41974, i64 0, i32 3, i32 0, !dbg !18
  %1105 = load i8, i8* %1104, align 1, !dbg !18
  %1106 = icmp eq i8 %1105, 2, !dbg !18
  %1107 = and i1 %1103, %1106, !dbg !18
  %1108 = and i1 %1100, %1107, !dbg !18
  br i1 %1108, label %assert_end670, label %assert_fail669, !dbg !18, !prof !19

assert_fail669:                                   ; preds = %assert_end668
  %1109 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1109(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end670:                                    ; preds = %assert_end668
  %1110 = load i64, i64* %default_function.ph.shape162, align 8, !dbg !18, !tbaa !572
  %1111 = trunc i64 %1110 to i32, !dbg !18
  %1112 = icmp eq i32 %1111, 1, !dbg !18
  br i1 %1112, label %assert_end672, label %assert_fail671, !dbg !18, !prof !19

assert_fail671:                                   ; preds = %assert_end670
  %1113 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1113(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end672:                                    ; preds = %assert_end670
  %1114 = getelementptr inbounds i64, i64* %default_function.ph.shape162, i64 1, !dbg !18
  %1115 = load i64, i64* %1114, align 8, !dbg !18, !tbaa !582
  %1116 = trunc i64 %1115 to i32, !dbg !18
  %1117 = icmp eq i32 %1116, 192, !dbg !18
  br i1 %1117, label %assert_end674, label %assert_fail673, !dbg !18, !prof !19

assert_fail673:                                   ; preds = %assert_end672
  %1118 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1118(i8* getelementptr inbounds ([189 x i8], [189 x i8]* @.str.53, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end674:                                    ; preds = %assert_end672
  %1119 = getelementptr inbounds i64, i64* %default_function.ph.shape162, i64 2, !dbg !18
  %1120 = load i64, i64* %1119, align 8, !dbg !18, !tbaa !584
  %1121 = trunc i64 %1120 to i32, !dbg !18
  %1122 = icmp eq i32 %1121, 3, !dbg !18
  br i1 %1122, label %assert_end676, label %assert_fail675, !dbg !18, !prof !19

assert_fail675:                                   ; preds = %assert_end674
  %1123 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1123(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.47, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end676:                                    ; preds = %assert_end674
  %1124 = getelementptr inbounds i64, i64* %default_function.ph.shape162, i64 3, !dbg !18
  %1125 = load i64, i64* %1124, align 8, !dbg !18, !tbaa !587
  %1126 = trunc i64 %1125 to i32, !dbg !18
  %1127 = icmp eq i32 %1126, 3, !dbg !18
  br i1 %1127, label %assert_end678, label %assert_fail677, !dbg !18, !prof !19

assert_fail677:                                   ; preds = %assert_end676
  %1128 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1128(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.48, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end678:                                    ; preds = %assert_end676
  %1129 = icmp eq i64* %default_function.ph.strides163, null, !dbg !18
  br i1 %1129, label %if_end680, label %if_then679, !dbg !18, !prof !126

if_then679:                                       ; preds = %assert_end678
  %1130 = getelementptr inbounds i64, i64* %default_function.ph.strides163, i64 1, !dbg !18
  %1131 = load i64, i64* %1130, align 8, !dbg !18, !tbaa !589
  %1132 = trunc i64 %1131 to i32, !dbg !18
  %1133 = icmp eq i32 %1132, 9, !dbg !18
  %1134 = getelementptr inbounds i64, i64* %default_function.ph.strides163, i64 2, !dbg !18
  %1135 = load i64, i64* %1134, align 8, !dbg !18, !tbaa !599
  %1136 = trunc i64 %1135 to i32, !dbg !18
  %1137 = icmp eq i32 %1136, 3, !dbg !18
  %1138 = getelementptr inbounds i64, i64* %default_function.ph.strides163, i64 3, !dbg !18
  %1139 = load i64, i64* %1138, align 8, !dbg !18, !tbaa !602
  %1140 = trunc i64 %1139 to i32, !dbg !18
  %1141 = icmp eq i32 %1140, 1, !dbg !18
  %1142 = and i1 %1137, %1141, !dbg !18
  %1143 = and i1 %1133, %1142, !dbg !18
  br i1 %1143, label %if_end680, label %assert_fail681, !dbg !18, !prof !19

if_end680:                                        ; preds = %assert_end678, %if_then679
  %1144 = getelementptr inbounds %1, %1* %ph41974, i64 0, i32 6, !dbg !18
  %1145 = load i64, i64* %1144, align 8, !dbg !18
  %1146 = icmp eq i64 %1145, 0, !dbg !18
  br i1 %1146, label %assert_end684, label %assert_fail683, !dbg !18, !prof !19

assert_fail681:                                   ; preds = %if_then679
  %1147 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1147(i8* getelementptr inbounds ([239 x i8], [239 x i8]* @.str.49, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail683:                                   ; preds = %if_end680
  %1148 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1148(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end684:                                    ; preds = %if_end680
  %1149 = getelementptr inbounds %1, %1* %ph41974, i64 0, i32 1, i32 0, !dbg !18
  %1150 = load i32, i32* %1149, align 4, !dbg !18
  %1151 = icmp eq i32 %1150, 1, !dbg !18
  br i1 %1151, label %assert_end686, label %assert_fail685, !dbg !18, !prof !19

assert_fail685:                                   ; preds = %assert_end684
  %1152 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1152(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end686:                                    ; preds = %assert_end684
  %1153 = getelementptr inbounds %1, %1* %ph41974, i64 0, i32 1, i32 1, !dbg !18
  %1154 = load i32, i32* %1153, align 4, !dbg !18
  %1155 = icmp eq i32 %dev_id, %1154, !dbg !18
  br i1 %1155, label %assert_end688, label %assert_fail687, !dbg !18, !prof !19

assert_fail687:                                   ; preds = %assert_end686
  %1156 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1156(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end688:                                    ; preds = %assert_end686
  %1157 = getelementptr inbounds %1, %1* %ph42975, i64 0, i32 2, !dbg !18
  %1158 = load i32, i32* %1157, align 4, !dbg !18
  %1159 = icmp eq i32 %1158, 4, !dbg !18
  br i1 %1159, label %assert_end692, label %assert_fail689, !dbg !18, !prof !19

assert_fail689:                                   ; preds = %assert_end688
  %1160 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1160(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end692:                                    ; preds = %assert_end688
  %1161 = getelementptr inbounds %1, %1* %ph42975, i64 0, i32 3, i32 2, !dbg !18
  %1162 = load i16, i16* %1161, align 2, !dbg !18
  %1163 = icmp eq i16 %1162, 1, !dbg !18
  %1164 = getelementptr inbounds %1, %1* %ph42975, i64 0, i32 3, i32 1, !dbg !18
  %1165 = load i8, i8* %1164, align 1, !dbg !18
  %1166 = icmp eq i8 %1165, 32, !dbg !18
  %1167 = getelementptr inbounds %1, %1* %ph42975, i64 0, i32 3, i32 0, !dbg !18
  %1168 = load i8, i8* %1167, align 1, !dbg !18
  %1169 = icmp eq i8 %1168, 2, !dbg !18
  %1170 = and i1 %1166, %1169, !dbg !18
  %1171 = and i1 %1163, %1170, !dbg !18
  br i1 %1171, label %assert_end694, label %assert_fail693, !dbg !18, !prof !19

assert_fail693:                                   ; preds = %assert_end692
  %1172 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1172(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end694:                                    ; preds = %assert_end692
  %1173 = load i64, i64* %default_function.ph.shape169, align 8, !dbg !18, !tbaa !604
  %1174 = trunc i64 %1173 to i32, !dbg !18
  %1175 = icmp eq i32 %1174, 1, !dbg !18
  br i1 %1175, label %assert_end696, label %assert_fail695, !dbg !18, !prof !19

assert_fail695:                                   ; preds = %assert_end694
  %1176 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1176(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end696:                                    ; preds = %assert_end694
  %1177 = getelementptr inbounds i64, i64* %default_function.ph.shape169, i64 1, !dbg !18
  %1178 = load i64, i64* %1177, align 8, !dbg !18, !tbaa !614
  %1179 = trunc i64 %1178 to i32, !dbg !18
  %1180 = icmp eq i32 %1179, 48, !dbg !18
  br i1 %1180, label %assert_end698, label %assert_fail697, !dbg !18, !prof !19

assert_fail697:                                   ; preds = %assert_end696
  %1181 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1181(i8* getelementptr inbounds ([187 x i8], [187 x i8]* @.str.52, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end698:                                    ; preds = %assert_end696
  %1182 = getelementptr inbounds i64, i64* %default_function.ph.shape169, i64 2, !dbg !18
  %1183 = load i64, i64* %1182, align 8, !dbg !18, !tbaa !616
  %1184 = trunc i64 %1183 to i32, !dbg !18
  %1185 = icmp eq i32 %1184, 1, !dbg !18
  br i1 %1185, label %assert_end700, label %assert_fail699, !dbg !18, !prof !19

assert_fail699:                                   ; preds = %assert_end698
  %1186 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1186(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.43, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end700:                                    ; preds = %assert_end698
  %1187 = getelementptr inbounds i64, i64* %default_function.ph.shape169, i64 3, !dbg !18
  %1188 = load i64, i64* %1187, align 8, !dbg !18, !tbaa !619
  %1189 = trunc i64 %1188 to i32, !dbg !18
  %1190 = icmp eq i32 %1189, 1, !dbg !18
  br i1 %1190, label %assert_end702, label %assert_fail701, !dbg !18, !prof !19

assert_fail701:                                   ; preds = %assert_end700
  %1191 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1191(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.44, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end702:                                    ; preds = %assert_end700
  %1192 = icmp eq i64* %default_function.ph.strides170, null, !dbg !18
  br i1 %1192, label %if_end704, label %if_then703, !dbg !18, !prof !126

if_then703:                                       ; preds = %assert_end702
  %1193 = getelementptr inbounds i64, i64* %default_function.ph.strides170, i64 1, !dbg !18
  %1194 = load i64, i64* %1193, align 8, !dbg !18, !tbaa !621
  %1195 = trunc i64 %1194 to i32, !dbg !18
  %1196 = icmp eq i32 %1195, 1, !dbg !18
  br i1 %1196, label %if_end704, label %assert_fail705, !dbg !18, !prof !19

if_end704:                                        ; preds = %assert_end702, %if_then703
  %1197 = getelementptr inbounds %1, %1* %ph42975, i64 0, i32 6, !dbg !18
  %1198 = load i64, i64* %1197, align 8, !dbg !18
  %1199 = icmp eq i64 %1198, 0, !dbg !18
  br i1 %1199, label %assert_end708, label %assert_fail707, !dbg !18, !prof !19

assert_fail705:                                   ; preds = %if_then703
  %1200 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1200(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.45, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail707:                                   ; preds = %if_end704
  %1201 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1201(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end708:                                    ; preds = %if_end704
  %1202 = getelementptr inbounds %1, %1* %ph42975, i64 0, i32 1, i32 0, !dbg !18
  %1203 = load i32, i32* %1202, align 4, !dbg !18
  %1204 = icmp eq i32 %1203, 1, !dbg !18
  br i1 %1204, label %assert_end710, label %assert_fail709, !dbg !18, !prof !19

assert_fail709:                                   ; preds = %assert_end708
  %1205 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1205(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end710:                                    ; preds = %assert_end708
  %1206 = getelementptr inbounds %1, %1* %ph42975, i64 0, i32 1, i32 1, !dbg !18
  %1207 = load i32, i32* %1206, align 4, !dbg !18
  %1208 = icmp eq i32 %dev_id, %1207, !dbg !18
  br i1 %1208, label %assert_end712, label %assert_fail711, !dbg !18, !prof !19

assert_fail711:                                   ; preds = %assert_end710
  %1209 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1209(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end712:                                    ; preds = %assert_end710
  %1210 = getelementptr inbounds %1, %1* %ph43976, i64 0, i32 2, !dbg !18
  %1211 = load i32, i32* %1210, align 4, !dbg !18
  %1212 = icmp eq i32 %1211, 4, !dbg !18
  br i1 %1212, label %assert_end716, label %assert_fail713, !dbg !18, !prof !19

assert_fail713:                                   ; preds = %assert_end712
  %1213 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1213(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end716:                                    ; preds = %assert_end712
  %1214 = getelementptr inbounds %1, %1* %ph43976, i64 0, i32 3, i32 2, !dbg !18
  %1215 = load i16, i16* %1214, align 2, !dbg !18
  %1216 = icmp eq i16 %1215, 1, !dbg !18
  %1217 = getelementptr inbounds %1, %1* %ph43976, i64 0, i32 3, i32 1, !dbg !18
  %1218 = load i8, i8* %1217, align 1, !dbg !18
  %1219 = icmp eq i8 %1218, 32, !dbg !18
  %1220 = getelementptr inbounds %1, %1* %ph43976, i64 0, i32 3, i32 0, !dbg !18
  %1221 = load i8, i8* %1220, align 1, !dbg !18
  %1222 = icmp eq i8 %1221, 2, !dbg !18
  %1223 = and i1 %1219, %1222, !dbg !18
  %1224 = and i1 %1216, %1223, !dbg !18
  br i1 %1224, label %assert_end718, label %assert_fail717, !dbg !18, !prof !19

assert_fail717:                                   ; preds = %assert_end716
  %1225 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1225(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end718:                                    ; preds = %assert_end716
  %1226 = load i64, i64* %default_function.ph.shape176, align 8, !dbg !18, !tbaa !631
  %1227 = trunc i64 %1226 to i32, !dbg !18
  %1228 = icmp eq i32 %1227, 1, !dbg !18
  br i1 %1228, label %assert_end720, label %assert_fail719, !dbg !18, !prof !19

assert_fail719:                                   ; preds = %assert_end718
  %1229 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1229(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end720:                                    ; preds = %assert_end718
  %1230 = getelementptr inbounds i64, i64* %default_function.ph.shape176, i64 1, !dbg !18
  %1231 = load i64, i64* %1230, align 8, !dbg !18, !tbaa !641
  %1232 = trunc i64 %1231 to i32, !dbg !18
  %1233 = icmp eq i32 %1232, 192, !dbg !18
  br i1 %1233, label %assert_end722, label %assert_fail721, !dbg !18, !prof !19

assert_fail721:                                   ; preds = %assert_end720
  %1234 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1234(i8* getelementptr inbounds ([189 x i8], [189 x i8]* @.str.53, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end722:                                    ; preds = %assert_end720
  %1235 = getelementptr inbounds i64, i64* %default_function.ph.shape176, i64 2, !dbg !18
  %1236 = load i64, i64* %1235, align 8, !dbg !18, !tbaa !643
  %1237 = trunc i64 %1236 to i32, !dbg !18
  %1238 = icmp eq i32 %1237, 1, !dbg !18
  br i1 %1238, label %assert_end724, label %assert_fail723, !dbg !18, !prof !19

assert_fail723:                                   ; preds = %assert_end722
  %1239 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1239(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.43, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end724:                                    ; preds = %assert_end722
  %1240 = getelementptr inbounds i64, i64* %default_function.ph.shape176, i64 3, !dbg !18
  %1241 = load i64, i64* %1240, align 8, !dbg !18, !tbaa !646
  %1242 = trunc i64 %1241 to i32, !dbg !18
  %1243 = icmp eq i32 %1242, 1, !dbg !18
  br i1 %1243, label %assert_end726, label %assert_fail725, !dbg !18, !prof !19

assert_fail725:                                   ; preds = %assert_end724
  %1244 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1244(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.44, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end726:                                    ; preds = %assert_end724
  %1245 = icmp eq i64* %default_function.ph.strides177, null, !dbg !18
  br i1 %1245, label %if_end728, label %if_then727, !dbg !18, !prof !126

if_then727:                                       ; preds = %assert_end726
  %1246 = getelementptr inbounds i64, i64* %default_function.ph.strides177, i64 1, !dbg !18
  %1247 = load i64, i64* %1246, align 8, !dbg !18, !tbaa !648
  %1248 = trunc i64 %1247 to i32, !dbg !18
  %1249 = icmp eq i32 %1248, 1, !dbg !18
  br i1 %1249, label %if_end728, label %assert_fail729, !dbg !18, !prof !19

if_end728:                                        ; preds = %assert_end726, %if_then727
  %1250 = getelementptr inbounds %1, %1* %ph43976, i64 0, i32 6, !dbg !18
  %1251 = load i64, i64* %1250, align 8, !dbg !18
  %1252 = icmp eq i64 %1251, 0, !dbg !18
  br i1 %1252, label %assert_end732, label %assert_fail731, !dbg !18, !prof !19

assert_fail729:                                   ; preds = %if_then727
  %1253 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1253(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.45, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail731:                                   ; preds = %if_end728
  %1254 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1254(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end732:                                    ; preds = %if_end728
  %1255 = getelementptr inbounds %1, %1* %ph43976, i64 0, i32 1, i32 0, !dbg !18
  %1256 = load i32, i32* %1255, align 4, !dbg !18
  %1257 = icmp eq i32 %1256, 1, !dbg !18
  br i1 %1257, label %assert_end734, label %assert_fail733, !dbg !18, !prof !19

assert_fail733:                                   ; preds = %assert_end732
  %1258 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1258(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end734:                                    ; preds = %assert_end732
  %1259 = getelementptr inbounds %1, %1* %ph43976, i64 0, i32 1, i32 1, !dbg !18
  %1260 = load i32, i32* %1259, align 4, !dbg !18
  %1261 = icmp eq i32 %dev_id, %1260, !dbg !18
  br i1 %1261, label %assert_end736, label %assert_fail735, !dbg !18, !prof !19

assert_fail735:                                   ; preds = %assert_end734
  %1262 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1262(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end736:                                    ; preds = %assert_end734
  %1263 = getelementptr inbounds %1, %1* %ph44977, i64 0, i32 2, !dbg !18
  %1264 = load i32, i32* %1263, align 4, !dbg !18
  %1265 = icmp eq i32 %1264, 4, !dbg !18
  br i1 %1265, label %assert_end740, label %assert_fail737, !dbg !18, !prof !19

assert_fail737:                                   ; preds = %assert_end736
  %1266 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1266(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end740:                                    ; preds = %assert_end736
  %1267 = getelementptr inbounds %1, %1* %ph44977, i64 0, i32 3, i32 2, !dbg !18
  %1268 = load i16, i16* %1267, align 2, !dbg !18
  %1269 = icmp eq i16 %1268, 1, !dbg !18
  %1270 = getelementptr inbounds %1, %1* %ph44977, i64 0, i32 3, i32 1, !dbg !18
  %1271 = load i8, i8* %1270, align 1, !dbg !18
  %1272 = icmp eq i8 %1271, 32, !dbg !18
  %1273 = getelementptr inbounds %1, %1* %ph44977, i64 0, i32 3, i32 0, !dbg !18
  %1274 = load i8, i8* %1273, align 1, !dbg !18
  %1275 = icmp eq i8 %1274, 2, !dbg !18
  %1276 = and i1 %1272, %1275, !dbg !18
  %1277 = and i1 %1269, %1276, !dbg !18
  br i1 %1277, label %assert_end742, label %assert_fail741, !dbg !18, !prof !19

assert_fail741:                                   ; preds = %assert_end740
  %1278 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1278(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end742:                                    ; preds = %assert_end740
  %1279 = load i64, i64* %default_function.ph.shape183, align 8, !dbg !18, !tbaa !658
  %1280 = trunc i64 %1279 to i32, !dbg !18
  %1281 = icmp eq i32 %1280, 1, !dbg !18
  br i1 %1281, label %assert_end744, label %assert_fail743, !dbg !18, !prof !19

assert_fail743:                                   ; preds = %assert_end742
  %1282 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1282(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end744:                                    ; preds = %assert_end742
  %1283 = getelementptr inbounds i64, i64* %default_function.ph.shape183, i64 1, !dbg !18
  %1284 = load i64, i64* %1283, align 8, !dbg !18, !tbaa !668
  %1285 = trunc i64 %1284 to i32, !dbg !18
  %1286 = icmp eq i32 %1285, 192, !dbg !18
  br i1 %1286, label %assert_end746, label %assert_fail745, !dbg !18, !prof !19

assert_fail745:                                   ; preds = %assert_end744
  %1287 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1287(i8* getelementptr inbounds ([189 x i8], [189 x i8]* @.str.53, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end746:                                    ; preds = %assert_end744
  %1288 = getelementptr inbounds i64, i64* %default_function.ph.shape183, i64 2, !dbg !18
  %1289 = load i64, i64* %1288, align 8, !dbg !18, !tbaa !670
  %1290 = trunc i64 %1289 to i32, !dbg !18
  %1291 = icmp eq i32 %1290, 3, !dbg !18
  br i1 %1291, label %assert_end748, label %assert_fail747, !dbg !18, !prof !19

assert_fail747:                                   ; preds = %assert_end746
  %1292 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1292(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.47, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end748:                                    ; preds = %assert_end746
  %1293 = getelementptr inbounds i64, i64* %default_function.ph.shape183, i64 3, !dbg !18
  %1294 = load i64, i64* %1293, align 8, !dbg !18, !tbaa !673
  %1295 = trunc i64 %1294 to i32, !dbg !18
  %1296 = icmp eq i32 %1295, 3, !dbg !18
  br i1 %1296, label %assert_end750, label %assert_fail749, !dbg !18, !prof !19

assert_fail749:                                   ; preds = %assert_end748
  %1297 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1297(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.48, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end750:                                    ; preds = %assert_end748
  %1298 = icmp eq i64* %default_function.ph.strides184, null, !dbg !18
  br i1 %1298, label %if_end752, label %if_then751, !dbg !18, !prof !126

if_then751:                                       ; preds = %assert_end750
  %1299 = getelementptr inbounds i64, i64* %default_function.ph.strides184, i64 1, !dbg !18
  %1300 = load i64, i64* %1299, align 8, !dbg !18, !tbaa !675
  %1301 = trunc i64 %1300 to i32, !dbg !18
  %1302 = icmp eq i32 %1301, 9, !dbg !18
  %1303 = getelementptr inbounds i64, i64* %default_function.ph.strides184, i64 2, !dbg !18
  %1304 = load i64, i64* %1303, align 8, !dbg !18, !tbaa !685
  %1305 = trunc i64 %1304 to i32, !dbg !18
  %1306 = icmp eq i32 %1305, 3, !dbg !18
  %1307 = getelementptr inbounds i64, i64* %default_function.ph.strides184, i64 3, !dbg !18
  %1308 = load i64, i64* %1307, align 8, !dbg !18, !tbaa !688
  %1309 = trunc i64 %1308 to i32, !dbg !18
  %1310 = icmp eq i32 %1309, 1, !dbg !18
  %1311 = and i1 %1306, %1310, !dbg !18
  %1312 = and i1 %1302, %1311, !dbg !18
  br i1 %1312, label %if_end752, label %assert_fail753, !dbg !18, !prof !19

if_end752:                                        ; preds = %assert_end750, %if_then751
  %1313 = getelementptr inbounds %1, %1* %ph44977, i64 0, i32 6, !dbg !18
  %1314 = load i64, i64* %1313, align 8, !dbg !18
  %1315 = icmp eq i64 %1314, 0, !dbg !18
  br i1 %1315, label %assert_end756, label %assert_fail755, !dbg !18, !prof !19

assert_fail753:                                   ; preds = %if_then751
  %1316 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1316(i8* getelementptr inbounds ([239 x i8], [239 x i8]* @.str.49, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail755:                                   ; preds = %if_end752
  %1317 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1317(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end756:                                    ; preds = %if_end752
  %1318 = getelementptr inbounds %1, %1* %ph44977, i64 0, i32 1, i32 0, !dbg !18
  %1319 = load i32, i32* %1318, align 4, !dbg !18
  %1320 = icmp eq i32 %1319, 1, !dbg !18
  br i1 %1320, label %assert_end758, label %assert_fail757, !dbg !18, !prof !19

assert_fail757:                                   ; preds = %assert_end756
  %1321 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1321(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end758:                                    ; preds = %assert_end756
  %1322 = getelementptr inbounds %1, %1* %ph44977, i64 0, i32 1, i32 1, !dbg !18
  %1323 = load i32, i32* %1322, align 4, !dbg !18
  %1324 = icmp eq i32 %dev_id, %1323, !dbg !18
  br i1 %1324, label %assert_end760, label %assert_fail759, !dbg !18, !prof !19

assert_fail759:                                   ; preds = %assert_end758
  %1325 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1325(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end760:                                    ; preds = %assert_end758
  %1326 = getelementptr inbounds %1, %1* %ph45978, i64 0, i32 2, !dbg !18
  %1327 = load i32, i32* %1326, align 4, !dbg !18
  %1328 = icmp eq i32 %1327, 4, !dbg !18
  br i1 %1328, label %assert_end764, label %assert_fail761, !dbg !18, !prof !19

assert_fail761:                                   ; preds = %assert_end760
  %1329 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1329(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end764:                                    ; preds = %assert_end760
  %1330 = getelementptr inbounds %1, %1* %ph45978, i64 0, i32 3, i32 2, !dbg !18
  %1331 = load i16, i16* %1330, align 2, !dbg !18
  %1332 = icmp eq i16 %1331, 1, !dbg !18
  %1333 = getelementptr inbounds %1, %1* %ph45978, i64 0, i32 3, i32 1, !dbg !18
  %1334 = load i8, i8* %1333, align 1, !dbg !18
  %1335 = icmp eq i8 %1334, 32, !dbg !18
  %1336 = getelementptr inbounds %1, %1* %ph45978, i64 0, i32 3, i32 0, !dbg !18
  %1337 = load i8, i8* %1336, align 1, !dbg !18
  %1338 = icmp eq i8 %1337, 2, !dbg !18
  %1339 = and i1 %1335, %1338, !dbg !18
  %1340 = and i1 %1332, %1339, !dbg !18
  br i1 %1340, label %assert_end766, label %assert_fail765, !dbg !18, !prof !19

assert_fail765:                                   ; preds = %assert_end764
  %1341 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1341(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end766:                                    ; preds = %assert_end764
  %1342 = load i64, i64* %default_function.ph.shape190, align 8, !dbg !18, !tbaa !690
  %1343 = trunc i64 %1342 to i32, !dbg !18
  %1344 = icmp eq i32 %1343, 1, !dbg !18
  br i1 %1344, label %assert_end768, label %assert_fail767, !dbg !18, !prof !19

assert_fail767:                                   ; preds = %assert_end766
  %1345 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1345(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end768:                                    ; preds = %assert_end766
  %1346 = getelementptr inbounds i64, i64* %default_function.ph.shape190, i64 1, !dbg !18
  %1347 = load i64, i64* %1346, align 8, !dbg !18, !tbaa !700
  %1348 = trunc i64 %1347 to i32, !dbg !18
  %1349 = icmp eq i32 %1348, 64, !dbg !18
  br i1 %1349, label %assert_end770, label %assert_fail769, !dbg !18, !prof !19

assert_fail769:                                   ; preds = %assert_end768
  %1350 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1350(i8* getelementptr inbounds ([187 x i8], [187 x i8]* @.str.46, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end770:                                    ; preds = %assert_end768
  %1351 = getelementptr inbounds i64, i64* %default_function.ph.shape190, i64 2, !dbg !18
  %1352 = load i64, i64* %1351, align 8, !dbg !18, !tbaa !702
  %1353 = trunc i64 %1352 to i32, !dbg !18
  %1354 = icmp eq i32 %1353, 1, !dbg !18
  br i1 %1354, label %assert_end772, label %assert_fail771, !dbg !18, !prof !19

assert_fail771:                                   ; preds = %assert_end770
  %1355 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1355(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.43, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end772:                                    ; preds = %assert_end770
  %1356 = getelementptr inbounds i64, i64* %default_function.ph.shape190, i64 3, !dbg !18
  %1357 = load i64, i64* %1356, align 8, !dbg !18, !tbaa !705
  %1358 = trunc i64 %1357 to i32, !dbg !18
  %1359 = icmp eq i32 %1358, 1, !dbg !18
  br i1 %1359, label %assert_end774, label %assert_fail773, !dbg !18, !prof !19

assert_fail773:                                   ; preds = %assert_end772
  %1360 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1360(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.44, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end774:                                    ; preds = %assert_end772
  %1361 = icmp eq i64* %default_function.ph.strides191, null, !dbg !18
  br i1 %1361, label %if_end776, label %if_then775, !dbg !18, !prof !126

if_then775:                                       ; preds = %assert_end774
  %1362 = getelementptr inbounds i64, i64* %default_function.ph.strides191, i64 1, !dbg !18
  %1363 = load i64, i64* %1362, align 8, !dbg !18, !tbaa !707
  %1364 = trunc i64 %1363 to i32, !dbg !18
  %1365 = icmp eq i32 %1364, 1, !dbg !18
  br i1 %1365, label %if_end776, label %assert_fail777, !dbg !18, !prof !19

if_end776:                                        ; preds = %assert_end774, %if_then775
  %1366 = getelementptr inbounds %1, %1* %ph45978, i64 0, i32 6, !dbg !18
  %1367 = load i64, i64* %1366, align 8, !dbg !18
  %1368 = icmp eq i64 %1367, 0, !dbg !18
  br i1 %1368, label %assert_end780, label %assert_fail779, !dbg !18, !prof !19

assert_fail777:                                   ; preds = %if_then775
  %1369 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1369(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.45, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail779:                                   ; preds = %if_end776
  %1370 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1370(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end780:                                    ; preds = %if_end776
  %1371 = getelementptr inbounds %1, %1* %ph45978, i64 0, i32 1, i32 0, !dbg !18
  %1372 = load i32, i32* %1371, align 4, !dbg !18
  %1373 = icmp eq i32 %1372, 1, !dbg !18
  br i1 %1373, label %assert_end782, label %assert_fail781, !dbg !18, !prof !19

assert_fail781:                                   ; preds = %assert_end780
  %1374 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1374(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end782:                                    ; preds = %assert_end780
  %1375 = getelementptr inbounds %1, %1* %ph45978, i64 0, i32 1, i32 1, !dbg !18
  %1376 = load i32, i32* %1375, align 4, !dbg !18
  %1377 = icmp eq i32 %dev_id, %1376, !dbg !18
  br i1 %1377, label %assert_end784, label %assert_fail783, !dbg !18, !prof !19

assert_fail783:                                   ; preds = %assert_end782
  %1378 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1378(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end784:                                    ; preds = %assert_end782
  %1379 = getelementptr inbounds %1, %1* %ph46979, i64 0, i32 2, !dbg !18
  %1380 = load i32, i32* %1379, align 4, !dbg !18
  %1381 = icmp eq i32 %1380, 4, !dbg !18
  br i1 %1381, label %assert_end788, label %assert_fail785, !dbg !18, !prof !19

assert_fail785:                                   ; preds = %assert_end784
  %1382 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1382(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end788:                                    ; preds = %assert_end784
  %1383 = getelementptr inbounds %1, %1* %ph46979, i64 0, i32 3, i32 2, !dbg !18
  %1384 = load i16, i16* %1383, align 2, !dbg !18
  %1385 = icmp eq i16 %1384, 1, !dbg !18
  %1386 = getelementptr inbounds %1, %1* %ph46979, i64 0, i32 3, i32 1, !dbg !18
  %1387 = load i8, i8* %1386, align 1, !dbg !18
  %1388 = icmp eq i8 %1387, 32, !dbg !18
  %1389 = getelementptr inbounds %1, %1* %ph46979, i64 0, i32 3, i32 0, !dbg !18
  %1390 = load i8, i8* %1389, align 1, !dbg !18
  %1391 = icmp eq i8 %1390, 2, !dbg !18
  %1392 = and i1 %1388, %1391, !dbg !18
  %1393 = and i1 %1385, %1392, !dbg !18
  br i1 %1393, label %assert_end790, label %assert_fail789, !dbg !18, !prof !19

assert_fail789:                                   ; preds = %assert_end788
  %1394 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1394(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end790:                                    ; preds = %assert_end788
  %1395 = load i64, i64* %default_function.ph.shape197, align 8, !dbg !18, !tbaa !717
  %1396 = trunc i64 %1395 to i32, !dbg !18
  %1397 = icmp eq i32 %1396, 1, !dbg !18
  br i1 %1397, label %assert_end792, label %assert_fail791, !dbg !18, !prof !19

assert_fail791:                                   ; preds = %assert_end790
  %1398 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1398(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end792:                                    ; preds = %assert_end790
  %1399 = getelementptr inbounds i64, i64* %default_function.ph.shape197, i64 1, !dbg !18
  %1400 = load i64, i64* %1399, align 8, !dbg !18, !tbaa !727
  %1401 = trunc i64 %1400 to i32, !dbg !18
  %1402 = icmp eq i32 %1401, 256, !dbg !18
  br i1 %1402, label %assert_end794, label %assert_fail793, !dbg !18, !prof !19

assert_fail793:                                   ; preds = %assert_end792
  %1403 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1403(i8* getelementptr inbounds ([189 x i8], [189 x i8]* @.str.54, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end794:                                    ; preds = %assert_end792
  %1404 = getelementptr inbounds i64, i64* %default_function.ph.shape197, i64 2, !dbg !18
  %1405 = load i64, i64* %1404, align 8, !dbg !18, !tbaa !729
  %1406 = trunc i64 %1405 to i32, !dbg !18
  %1407 = icmp eq i32 %1406, 1, !dbg !18
  br i1 %1407, label %assert_end796, label %assert_fail795, !dbg !18, !prof !19

assert_fail795:                                   ; preds = %assert_end794
  %1408 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1408(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.43, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end796:                                    ; preds = %assert_end794
  %1409 = getelementptr inbounds i64, i64* %default_function.ph.shape197, i64 3, !dbg !18
  %1410 = load i64, i64* %1409, align 8, !dbg !18, !tbaa !732
  %1411 = trunc i64 %1410 to i32, !dbg !18
  %1412 = icmp eq i32 %1411, 1, !dbg !18
  br i1 %1412, label %assert_end798, label %assert_fail797, !dbg !18, !prof !19

assert_fail797:                                   ; preds = %assert_end796
  %1413 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1413(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.44, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end798:                                    ; preds = %assert_end796
  %1414 = icmp eq i64* %default_function.ph.strides198, null, !dbg !18
  br i1 %1414, label %if_end800, label %if_then799, !dbg !18, !prof !126

if_then799:                                       ; preds = %assert_end798
  %1415 = getelementptr inbounds i64, i64* %default_function.ph.strides198, i64 1, !dbg !18
  %1416 = load i64, i64* %1415, align 8, !dbg !18, !tbaa !734
  %1417 = trunc i64 %1416 to i32, !dbg !18
  %1418 = icmp eq i32 %1417, 1, !dbg !18
  br i1 %1418, label %if_end800, label %assert_fail801, !dbg !18, !prof !19

if_end800:                                        ; preds = %assert_end798, %if_then799
  %1419 = getelementptr inbounds %1, %1* %ph46979, i64 0, i32 6, !dbg !18
  %1420 = load i64, i64* %1419, align 8, !dbg !18
  %1421 = icmp eq i64 %1420, 0, !dbg !18
  br i1 %1421, label %assert_end804, label %assert_fail803, !dbg !18, !prof !19

assert_fail801:                                   ; preds = %if_then799
  %1422 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1422(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.45, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail803:                                   ; preds = %if_end800
  %1423 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1423(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end804:                                    ; preds = %if_end800
  %1424 = getelementptr inbounds %1, %1* %ph46979, i64 0, i32 1, i32 0, !dbg !18
  %1425 = load i32, i32* %1424, align 4, !dbg !18
  %1426 = icmp eq i32 %1425, 1, !dbg !18
  br i1 %1426, label %assert_end806, label %assert_fail805, !dbg !18, !prof !19

assert_fail805:                                   ; preds = %assert_end804
  %1427 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1427(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end806:                                    ; preds = %assert_end804
  %1428 = getelementptr inbounds %1, %1* %ph46979, i64 0, i32 1, i32 1, !dbg !18
  %1429 = load i32, i32* %1428, align 4, !dbg !18
  %1430 = icmp eq i32 %dev_id, %1429, !dbg !18
  br i1 %1430, label %assert_end808, label %assert_fail807, !dbg !18, !prof !19

assert_fail807:                                   ; preds = %assert_end806
  %1431 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1431(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end808:                                    ; preds = %assert_end806
  %1432 = getelementptr inbounds %1, %1* %ph47980, i64 0, i32 2, !dbg !18
  %1433 = load i32, i32* %1432, align 4, !dbg !18
  %1434 = icmp eq i32 %1433, 4, !dbg !18
  br i1 %1434, label %assert_end812, label %assert_fail809, !dbg !18, !prof !19

assert_fail809:                                   ; preds = %assert_end808
  %1435 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1435(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end812:                                    ; preds = %assert_end808
  %1436 = getelementptr inbounds %1, %1* %ph47980, i64 0, i32 3, i32 2, !dbg !18
  %1437 = load i16, i16* %1436, align 2, !dbg !18
  %1438 = icmp eq i16 %1437, 1, !dbg !18
  %1439 = getelementptr inbounds %1, %1* %ph47980, i64 0, i32 3, i32 1, !dbg !18
  %1440 = load i8, i8* %1439, align 1, !dbg !18
  %1441 = icmp eq i8 %1440, 32, !dbg !18
  %1442 = getelementptr inbounds %1, %1* %ph47980, i64 0, i32 3, i32 0, !dbg !18
  %1443 = load i8, i8* %1442, align 1, !dbg !18
  %1444 = icmp eq i8 %1443, 2, !dbg !18
  %1445 = and i1 %1441, %1444, !dbg !18
  %1446 = and i1 %1438, %1445, !dbg !18
  br i1 %1446, label %assert_end814, label %assert_fail813, !dbg !18, !prof !19

assert_fail813:                                   ; preds = %assert_end812
  %1447 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1447(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end814:                                    ; preds = %assert_end812
  %1448 = load i64, i64* %default_function.ph.shape204, align 8, !dbg !18, !tbaa !744
  %1449 = trunc i64 %1448 to i32, !dbg !18
  %1450 = icmp eq i32 %1449, 1, !dbg !18
  br i1 %1450, label %assert_end816, label %assert_fail815, !dbg !18, !prof !19

assert_fail815:                                   ; preds = %assert_end814
  %1451 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1451(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end816:                                    ; preds = %assert_end814
  %1452 = getelementptr inbounds i64, i64* %default_function.ph.shape204, i64 1, !dbg !18
  %1453 = load i64, i64* %1452, align 8, !dbg !18, !tbaa !754
  %1454 = trunc i64 %1453 to i32, !dbg !18
  %1455 = icmp eq i32 %1454, 256, !dbg !18
  br i1 %1455, label %assert_end818, label %assert_fail817, !dbg !18, !prof !19

assert_fail817:                                   ; preds = %assert_end816
  %1456 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1456(i8* getelementptr inbounds ([189 x i8], [189 x i8]* @.str.54, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end818:                                    ; preds = %assert_end816
  %1457 = getelementptr inbounds i64, i64* %default_function.ph.shape204, i64 2, !dbg !18
  %1458 = load i64, i64* %1457, align 8, !dbg !18, !tbaa !756
  %1459 = trunc i64 %1458 to i32, !dbg !18
  %1460 = icmp eq i32 %1459, 3, !dbg !18
  br i1 %1460, label %assert_end820, label %assert_fail819, !dbg !18, !prof !19

assert_fail819:                                   ; preds = %assert_end818
  %1461 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1461(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.47, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end820:                                    ; preds = %assert_end818
  %1462 = getelementptr inbounds i64, i64* %default_function.ph.shape204, i64 3, !dbg !18
  %1463 = load i64, i64* %1462, align 8, !dbg !18, !tbaa !759
  %1464 = trunc i64 %1463 to i32, !dbg !18
  %1465 = icmp eq i32 %1464, 3, !dbg !18
  br i1 %1465, label %assert_end822, label %assert_fail821, !dbg !18, !prof !19

assert_fail821:                                   ; preds = %assert_end820
  %1466 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1466(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.48, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end822:                                    ; preds = %assert_end820
  %1467 = icmp eq i64* %default_function.ph.strides205, null, !dbg !18
  br i1 %1467, label %if_end824, label %if_then823, !dbg !18, !prof !126

if_then823:                                       ; preds = %assert_end822
  %1468 = getelementptr inbounds i64, i64* %default_function.ph.strides205, i64 1, !dbg !18
  %1469 = load i64, i64* %1468, align 8, !dbg !18, !tbaa !761
  %1470 = trunc i64 %1469 to i32, !dbg !18
  %1471 = icmp eq i32 %1470, 9, !dbg !18
  %1472 = getelementptr inbounds i64, i64* %default_function.ph.strides205, i64 2, !dbg !18
  %1473 = load i64, i64* %1472, align 8, !dbg !18, !tbaa !771
  %1474 = trunc i64 %1473 to i32, !dbg !18
  %1475 = icmp eq i32 %1474, 3, !dbg !18
  %1476 = getelementptr inbounds i64, i64* %default_function.ph.strides205, i64 3, !dbg !18
  %1477 = load i64, i64* %1476, align 8, !dbg !18, !tbaa !774
  %1478 = trunc i64 %1477 to i32, !dbg !18
  %1479 = icmp eq i32 %1478, 1, !dbg !18
  %1480 = and i1 %1475, %1479, !dbg !18
  %1481 = and i1 %1471, %1480, !dbg !18
  br i1 %1481, label %if_end824, label %assert_fail825, !dbg !18, !prof !19

if_end824:                                        ; preds = %assert_end822, %if_then823
  %1482 = getelementptr inbounds %1, %1* %ph47980, i64 0, i32 6, !dbg !18
  %1483 = load i64, i64* %1482, align 8, !dbg !18
  %1484 = icmp eq i64 %1483, 0, !dbg !18
  br i1 %1484, label %assert_end828, label %assert_fail827, !dbg !18, !prof !19

assert_fail825:                                   ; preds = %if_then823
  %1485 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1485(i8* getelementptr inbounds ([239 x i8], [239 x i8]* @.str.49, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail827:                                   ; preds = %if_end824
  %1486 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1486(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end828:                                    ; preds = %if_end824
  %1487 = getelementptr inbounds %1, %1* %ph47980, i64 0, i32 1, i32 0, !dbg !18
  %1488 = load i32, i32* %1487, align 4, !dbg !18
  %1489 = icmp eq i32 %1488, 1, !dbg !18
  br i1 %1489, label %assert_end830, label %assert_fail829, !dbg !18, !prof !19

assert_fail829:                                   ; preds = %assert_end828
  %1490 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1490(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end830:                                    ; preds = %assert_end828
  %1491 = getelementptr inbounds %1, %1* %ph47980, i64 0, i32 1, i32 1, !dbg !18
  %1492 = load i32, i32* %1491, align 4, !dbg !18
  %1493 = icmp eq i32 %dev_id, %1492, !dbg !18
  br i1 %1493, label %assert_end832, label %assert_fail831, !dbg !18, !prof !19

assert_fail831:                                   ; preds = %assert_end830
  %1494 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1494(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end832:                                    ; preds = %assert_end830
  %1495 = getelementptr inbounds %1, %1* %ph48981, i64 0, i32 2, !dbg !18
  %1496 = load i32, i32* %1495, align 4, !dbg !18
  %1497 = icmp eq i32 %1496, 4, !dbg !18
  br i1 %1497, label %assert_end836, label %assert_fail833, !dbg !18, !prof !19

assert_fail833:                                   ; preds = %assert_end832
  %1498 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1498(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end836:                                    ; preds = %assert_end832
  %1499 = getelementptr inbounds %1, %1* %ph48981, i64 0, i32 3, i32 2, !dbg !18
  %1500 = load i16, i16* %1499, align 2, !dbg !18
  %1501 = icmp eq i16 %1500, 1, !dbg !18
  %1502 = getelementptr inbounds %1, %1* %ph48981, i64 0, i32 3, i32 1, !dbg !18
  %1503 = load i8, i8* %1502, align 1, !dbg !18
  %1504 = icmp eq i8 %1503, 32, !dbg !18
  %1505 = getelementptr inbounds %1, %1* %ph48981, i64 0, i32 3, i32 0, !dbg !18
  %1506 = load i8, i8* %1505, align 1, !dbg !18
  %1507 = icmp eq i8 %1506, 2, !dbg !18
  %1508 = and i1 %1504, %1507, !dbg !18
  %1509 = and i1 %1501, %1508, !dbg !18
  br i1 %1509, label %assert_end838, label %assert_fail837, !dbg !18, !prof !19

assert_fail837:                                   ; preds = %assert_end836
  %1510 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1510(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end838:                                    ; preds = %assert_end836
  %1511 = load i64, i64* %default_function.ph.shape211, align 8, !dbg !18, !tbaa !776
  %1512 = trunc i64 %1511 to i32, !dbg !18
  %1513 = icmp eq i32 %1512, 1, !dbg !18
  br i1 %1513, label %assert_end840, label %assert_fail839, !dbg !18, !prof !19

assert_fail839:                                   ; preds = %assert_end838
  %1514 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1514(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end840:                                    ; preds = %assert_end838
  %1515 = getelementptr inbounds i64, i64* %default_function.ph.shape211, i64 1, !dbg !18
  %1516 = load i64, i64* %1515, align 8, !dbg !18, !tbaa !786
  %1517 = trunc i64 %1516 to i32, !dbg !18
  %1518 = icmp eq i32 %1517, 64, !dbg !18
  br i1 %1518, label %assert_end842, label %assert_fail841, !dbg !18, !prof !19

assert_fail841:                                   ; preds = %assert_end840
  %1519 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1519(i8* getelementptr inbounds ([187 x i8], [187 x i8]* @.str.46, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end842:                                    ; preds = %assert_end840
  %1520 = getelementptr inbounds i64, i64* %default_function.ph.shape211, i64 2, !dbg !18
  %1521 = load i64, i64* %1520, align 8, !dbg !18, !tbaa !788
  %1522 = trunc i64 %1521 to i32, !dbg !18
  %1523 = icmp eq i32 %1522, 1, !dbg !18
  br i1 %1523, label %assert_end844, label %assert_fail843, !dbg !18, !prof !19

assert_fail843:                                   ; preds = %assert_end842
  %1524 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1524(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.43, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end844:                                    ; preds = %assert_end842
  %1525 = getelementptr inbounds i64, i64* %default_function.ph.shape211, i64 3, !dbg !18
  %1526 = load i64, i64* %1525, align 8, !dbg !18, !tbaa !791
  %1527 = trunc i64 %1526 to i32, !dbg !18
  %1528 = icmp eq i32 %1527, 1, !dbg !18
  br i1 %1528, label %assert_end846, label %assert_fail845, !dbg !18, !prof !19

assert_fail845:                                   ; preds = %assert_end844
  %1529 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1529(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.44, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end846:                                    ; preds = %assert_end844
  %1530 = icmp eq i64* %default_function.ph.strides212, null, !dbg !18
  br i1 %1530, label %if_end848, label %if_then847, !dbg !18, !prof !126

if_then847:                                       ; preds = %assert_end846
  %1531 = getelementptr inbounds i64, i64* %default_function.ph.strides212, i64 1, !dbg !18
  %1532 = load i64, i64* %1531, align 8, !dbg !18, !tbaa !793
  %1533 = trunc i64 %1532 to i32, !dbg !18
  %1534 = icmp eq i32 %1533, 1, !dbg !18
  br i1 %1534, label %if_end848, label %assert_fail849, !dbg !18, !prof !19

if_end848:                                        ; preds = %assert_end846, %if_then847
  %1535 = getelementptr inbounds %1, %1* %ph48981, i64 0, i32 6, !dbg !18
  %1536 = load i64, i64* %1535, align 8, !dbg !18
  %1537 = icmp eq i64 %1536, 0, !dbg !18
  br i1 %1537, label %assert_end852, label %assert_fail851, !dbg !18, !prof !19

assert_fail849:                                   ; preds = %if_then847
  %1538 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1538(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.45, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail851:                                   ; preds = %if_end848
  %1539 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1539(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end852:                                    ; preds = %if_end848
  %1540 = getelementptr inbounds %1, %1* %ph48981, i64 0, i32 1, i32 0, !dbg !18
  %1541 = load i32, i32* %1540, align 4, !dbg !18
  %1542 = icmp eq i32 %1541, 1, !dbg !18
  br i1 %1542, label %assert_end854, label %assert_fail853, !dbg !18, !prof !19

assert_fail853:                                   ; preds = %assert_end852
  %1543 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1543(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end854:                                    ; preds = %assert_end852
  %1544 = getelementptr inbounds %1, %1* %ph48981, i64 0, i32 1, i32 1, !dbg !18
  %1545 = load i32, i32* %1544, align 4, !dbg !18
  %1546 = icmp eq i32 %dev_id, %1545, !dbg !18
  br i1 %1546, label %assert_end856, label %assert_fail855, !dbg !18, !prof !19

assert_fail855:                                   ; preds = %assert_end854
  %1547 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1547(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end856:                                    ; preds = %assert_end854
  %1548 = getelementptr inbounds %1, %1* %ph49982, i64 0, i32 2, !dbg !18
  %1549 = load i32, i32* %1548, align 4, !dbg !18
  %1550 = icmp eq i32 %1549, 4, !dbg !18
  br i1 %1550, label %assert_end860, label %assert_fail857, !dbg !18, !prof !19

assert_fail857:                                   ; preds = %assert_end856
  %1551 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1551(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end860:                                    ; preds = %assert_end856
  %1552 = getelementptr inbounds %1, %1* %ph49982, i64 0, i32 3, i32 2, !dbg !18
  %1553 = load i16, i16* %1552, align 2, !dbg !18
  %1554 = icmp eq i16 %1553, 1, !dbg !18
  %1555 = getelementptr inbounds %1, %1* %ph49982, i64 0, i32 3, i32 1, !dbg !18
  %1556 = load i8, i8* %1555, align 1, !dbg !18
  %1557 = icmp eq i8 %1556, 32, !dbg !18
  %1558 = getelementptr inbounds %1, %1* %ph49982, i64 0, i32 3, i32 0, !dbg !18
  %1559 = load i8, i8* %1558, align 1, !dbg !18
  %1560 = icmp eq i8 %1559, 2, !dbg !18
  %1561 = and i1 %1557, %1560, !dbg !18
  %1562 = and i1 %1554, %1561, !dbg !18
  br i1 %1562, label %assert_end862, label %assert_fail861, !dbg !18, !prof !19

assert_fail861:                                   ; preds = %assert_end860
  %1563 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1563(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end862:                                    ; preds = %assert_end860
  %1564 = load i64, i64* %default_function.ph.shape218, align 8, !dbg !18, !tbaa !803
  %1565 = trunc i64 %1564 to i32, !dbg !18
  %1566 = icmp eq i32 %1565, 1, !dbg !18
  br i1 %1566, label %assert_end864, label %assert_fail863, !dbg !18, !prof !19

assert_fail863:                                   ; preds = %assert_end862
  %1567 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1567(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end864:                                    ; preds = %assert_end862
  %1568 = getelementptr inbounds i64, i64* %default_function.ph.shape218, i64 1, !dbg !18
  %1569 = load i64, i64* %1568, align 8, !dbg !18, !tbaa !813
  %1570 = trunc i64 %1569 to i32, !dbg !18
  %1571 = icmp eq i32 %1570, 256, !dbg !18
  br i1 %1571, label %assert_end866, label %assert_fail865, !dbg !18, !prof !19

assert_fail865:                                   ; preds = %assert_end864
  %1572 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1572(i8* getelementptr inbounds ([189 x i8], [189 x i8]* @.str.54, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end866:                                    ; preds = %assert_end864
  %1573 = getelementptr inbounds i64, i64* %default_function.ph.shape218, i64 2, !dbg !18
  %1574 = load i64, i64* %1573, align 8, !dbg !18, !tbaa !815
  %1575 = trunc i64 %1574 to i32, !dbg !18
  %1576 = icmp eq i32 %1575, 1, !dbg !18
  br i1 %1576, label %assert_end868, label %assert_fail867, !dbg !18, !prof !19

assert_fail867:                                   ; preds = %assert_end866
  %1577 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1577(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.43, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end868:                                    ; preds = %assert_end866
  %1578 = getelementptr inbounds i64, i64* %default_function.ph.shape218, i64 3, !dbg !18
  %1579 = load i64, i64* %1578, align 8, !dbg !18, !tbaa !818
  %1580 = trunc i64 %1579 to i32, !dbg !18
  %1581 = icmp eq i32 %1580, 1, !dbg !18
  br i1 %1581, label %assert_end870, label %assert_fail869, !dbg !18, !prof !19

assert_fail869:                                   ; preds = %assert_end868
  %1582 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1582(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.44, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end870:                                    ; preds = %assert_end868
  %1583 = icmp eq i64* %default_function.ph.strides219, null, !dbg !18
  br i1 %1583, label %if_end872, label %if_then871, !dbg !18, !prof !126

if_then871:                                       ; preds = %assert_end870
  %1584 = getelementptr inbounds i64, i64* %default_function.ph.strides219, i64 1, !dbg !18
  %1585 = load i64, i64* %1584, align 8, !dbg !18, !tbaa !820
  %1586 = trunc i64 %1585 to i32, !dbg !18
  %1587 = icmp eq i32 %1586, 1, !dbg !18
  br i1 %1587, label %if_end872, label %assert_fail873, !dbg !18, !prof !19

if_end872:                                        ; preds = %assert_end870, %if_then871
  %1588 = getelementptr inbounds %1, %1* %ph49982, i64 0, i32 6, !dbg !18
  %1589 = load i64, i64* %1588, align 8, !dbg !18
  %1590 = icmp eq i64 %1589, 0, !dbg !18
  br i1 %1590, label %assert_end876, label %assert_fail875, !dbg !18, !prof !19

assert_fail873:                                   ; preds = %if_then871
  %1591 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1591(i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.45, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail875:                                   ; preds = %if_end872
  %1592 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1592(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end876:                                    ; preds = %if_end872
  %1593 = getelementptr inbounds %1, %1* %ph49982, i64 0, i32 1, i32 0, !dbg !18
  %1594 = load i32, i32* %1593, align 4, !dbg !18
  %1595 = icmp eq i32 %1594, 1, !dbg !18
  br i1 %1595, label %assert_end878, label %assert_fail877, !dbg !18, !prof !19

assert_fail877:                                   ; preds = %assert_end876
  %1596 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1596(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end878:                                    ; preds = %assert_end876
  %1597 = getelementptr inbounds %1, %1* %ph49982, i64 0, i32 1, i32 1, !dbg !18
  %1598 = load i32, i32* %1597, align 4, !dbg !18
  %1599 = icmp eq i32 %dev_id, %1598, !dbg !18
  br i1 %1599, label %assert_end880, label %assert_fail879, !dbg !18, !prof !19

assert_fail879:                                   ; preds = %assert_end878
  %1600 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1600(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end880:                                    ; preds = %assert_end878
  %1601 = getelementptr inbounds %1, %1* %ph50983, i64 0, i32 2, !dbg !18
  %1602 = load i32, i32* %1601, align 4, !dbg !18
  %1603 = icmp eq i32 %1602, 4, !dbg !18
  br i1 %1603, label %assert_end884, label %assert_fail881, !dbg !18, !prof !19

assert_fail881:                                   ; preds = %assert_end880
  %1604 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1604(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.28, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end884:                                    ; preds = %assert_end880
  %1605 = getelementptr inbounds %1, %1* %ph50983, i64 0, i32 3, i32 2, !dbg !18
  %1606 = load i16, i16* %1605, align 2, !dbg !18
  %1607 = icmp eq i16 %1606, 1, !dbg !18
  %1608 = getelementptr inbounds %1, %1* %ph50983, i64 0, i32 3, i32 1, !dbg !18
  %1609 = load i8, i8* %1608, align 1, !dbg !18
  %1610 = icmp eq i8 %1609, 32, !dbg !18
  %1611 = getelementptr inbounds %1, %1* %ph50983, i64 0, i32 3, i32 0, !dbg !18
  %1612 = load i8, i8* %1611, align 1, !dbg !18
  %1613 = icmp eq i8 %1612, 2, !dbg !18
  %1614 = and i1 %1610, %1613, !dbg !18
  %1615 = and i1 %1607, %1614, !dbg !18
  br i1 %1615, label %assert_end886, label %assert_fail885, !dbg !18, !prof !19

assert_fail885:                                   ; preds = %assert_end884
  %1616 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1616(i8* getelementptr inbounds ([227 x i8], [227 x i8]* @.str.29, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end886:                                    ; preds = %assert_end884
  %1617 = load i64, i64* %default_function.ph.shape225, align 8, !dbg !18, !tbaa !830
  %1618 = trunc i64 %1617 to i32, !dbg !18
  %1619 = icmp eq i32 %1618, 1, !dbg !18
  br i1 %1619, label %assert_end888, label %assert_fail887, !dbg !18, !prof !19

assert_fail887:                                   ; preds = %assert_end886
  %1620 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1620(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.30, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end888:                                    ; preds = %assert_end886
  %1621 = getelementptr inbounds i64, i64* %default_function.ph.shape225, i64 1, !dbg !18
  %1622 = load i64, i64* %1621, align 8, !dbg !18, !tbaa !840
  %1623 = trunc i64 %1622 to i32, !dbg !18
  %1624 = icmp eq i32 %1623, 256, !dbg !18
  br i1 %1624, label %assert_end890, label %assert_fail889, !dbg !18, !prof !19

assert_fail889:                                   ; preds = %assert_end888
  %1625 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1625(i8* getelementptr inbounds ([189 x i8], [189 x i8]* @.str.54, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end890:                                    ; preds = %assert_end888
  %1626 = getelementptr inbounds i64, i64* %default_function.ph.shape225, i64 2, !dbg !18
  %1627 = load i64, i64* %1626, align 8, !dbg !18, !tbaa !842
  %1628 = trunc i64 %1627 to i32, !dbg !18
  %1629 = icmp eq i32 %1628, 3, !dbg !18
  br i1 %1629, label %assert_end892, label %assert_fail891, !dbg !18, !prof !19

assert_fail891:                                   ; preds = %assert_end890
  %1630 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1630(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.47, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end892:                                    ; preds = %assert_end890
  %1631 = getelementptr inbounds i64, i64* %default_function.ph.shape225, i64 3, !dbg !18
  %1632 = load i64, i64* %1631, align 8, !dbg !18, !tbaa !845
  %1633 = trunc i64 %1632 to i32, !dbg !18
  %1634 = icmp eq i32 %1633, 3, !dbg !18
  br i1 %1634, label %assert_end894, label %assert_fail893, !dbg !18, !prof !19

assert_fail893:                                   ; preds = %assert_end892
  %1635 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1635(i8* getelementptr inbounds ([185 x i8], [185 x i8]* @.str.48, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end894:                                    ; preds = %assert_end892
  %1636 = icmp eq i64* %default_function.ph.strides226, null, !dbg !18
  br i1 %1636, label %if_end896, label %if_then895, !dbg !18, !prof !126

if_then895:                                       ; preds = %assert_end894
  %1637 = getelementptr inbounds i64, i64* %default_function.ph.strides226, i64 1, !dbg !18
  %1638 = load i64, i64* %1637, align 8, !dbg !18, !tbaa !847
  %1639 = trunc i64 %1638 to i32, !dbg !18
  %1640 = icmp eq i32 %1639, 9, !dbg !18
  %1641 = getelementptr inbounds i64, i64* %default_function.ph.strides226, i64 2, !dbg !18
  %1642 = load i64, i64* %1641, align 8, !dbg !18, !tbaa !857
  %1643 = trunc i64 %1642 to i32, !dbg !18
  %1644 = icmp eq i32 %1643, 3, !dbg !18
  %1645 = getelementptr inbounds i64, i64* %default_function.ph.strides226, i64 3, !dbg !18
  %1646 = load i64, i64* %1645, align 8, !dbg !18, !tbaa !860
  %1647 = trunc i64 %1646 to i32, !dbg !18
  %1648 = icmp eq i32 %1647, 1, !dbg !18
  %1649 = and i1 %1644, %1648, !dbg !18
  %1650 = and i1 %1640, %1649, !dbg !18
  br i1 %1650, label %if_end896, label %assert_fail897, !dbg !18, !prof !19

if_end896:                                        ; preds = %assert_end894, %if_then895
  %1651 = getelementptr inbounds %1, %1* %ph50983, i64 0, i32 6, !dbg !18
  %1652 = load i64, i64* %1651, align 8, !dbg !18
  %1653 = icmp eq i64 %1652, 0, !dbg !18
  br i1 %1653, label %assert_end900, label %assert_fail899, !dbg !18, !prof !19

assert_fail897:                                   ; preds = %if_then895
  %1654 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1654(i8* getelementptr inbounds ([239 x i8], [239 x i8]* @.str.49, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail899:                                   ; preds = %if_end896
  %1655 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1655(i8* getelementptr inbounds ([190 x i8], [190 x i8]* @.str.35, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end900:                                    ; preds = %if_end896
  %1656 = getelementptr inbounds %1, %1* %ph50983, i64 0, i32 1, i32 0, !dbg !18
  %1657 = load i32, i32* %1656, align 4, !dbg !18
  %1658 = icmp eq i32 %1657, 1, !dbg !18
  br i1 %1658, label %assert_end902, label %assert_fail901, !dbg !18, !prof !19

assert_fail901:                                   ; preds = %assert_end900
  %1659 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1659(i8* getelementptr inbounds ([170 x i8], [170 x i8]* @.str.36, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end902:                                    ; preds = %assert_end900
  %1660 = getelementptr inbounds %1, %1* %ph50983, i64 0, i32 1, i32 1, !dbg !18
  %1661 = load i32, i32* %1660, align 4, !dbg !18
  %1662 = icmp eq i32 %dev_id, %1661, !dbg !18
  br i1 %1662, label %assert_end904, label %assert_fail903, !dbg !18, !prof !19

assert_fail903:                                   ; preds = %assert_end902
  %1663 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1663(i8* getelementptr inbounds ([176 x i8], [176 x i8]* @.str.41, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end904:                                    ; preds = %assert_end902
  %1664 = getelementptr inbounds %1, %1* %T_concat984, i64 0, i32 2, !dbg !18
  %1665 = load i32, i32* %1664, align 4, !dbg !18
  %1666 = icmp eq i32 %1665, 4, !dbg !18
  br i1 %1666, label %assert_end908, label %assert_fail905, !dbg !18, !prof !19

assert_fail905:                                   ; preds = %assert_end904
  %1667 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1667(i8* getelementptr inbounds ([115 x i8], [115 x i8]* @.str.55, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end908:                                    ; preds = %assert_end904
  %1668 = getelementptr inbounds %1, %1* %T_concat984, i64 0, i32 3, i32 2, !dbg !18
  %1669 = load i16, i16* %1668, align 2, !dbg !18
  %1670 = icmp eq i16 %1669, 1, !dbg !18
  %1671 = getelementptr inbounds %1, %1* %T_concat984, i64 0, i32 3, i32 1, !dbg !18
  %1672 = load i8, i8* %1671, align 1, !dbg !18
  %1673 = icmp eq i8 %1672, 32, !dbg !18
  %1674 = getelementptr inbounds %1, %1* %T_concat984, i64 0, i32 3, i32 0, !dbg !18
  %1675 = load i8, i8* %1674, align 1, !dbg !18
  %1676 = icmp eq i8 %1675, 2, !dbg !18
  %1677 = and i1 %1673, %1676, !dbg !18
  %1678 = and i1 %1670, %1677, !dbg !18
  br i1 %1678, label %assert_end910, label %assert_fail909, !dbg !18, !prof !19

assert_fail909:                                   ; preds = %assert_end908
  %1679 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1679(i8* getelementptr inbounds ([251 x i8], [251 x i8]* @.str.56, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end910:                                    ; preds = %assert_end908
  %1680 = load i64, i64* %default_function.T_concat.shape, align 8, !dbg !18, !tbaa !862
  %1681 = trunc i64 %1680 to i32, !dbg !18
  %1682 = icmp eq i32 %1681, 1, !dbg !18
  br i1 %1682, label %assert_end912, label %assert_fail911, !dbg !18, !prof !19

assert_fail911:                                   ; preds = %assert_end910
  %1683 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1683(i8* getelementptr inbounds ([203 x i8], [203 x i8]* @.str.57, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end912:                                    ; preds = %assert_end910
  %1684 = getelementptr inbounds i64, i64* %default_function.T_concat.shape, i64 1, !dbg !18
  %1685 = load i64, i64* %1684, align 8, !dbg !18, !tbaa !872
  %1686 = trunc i64 %1685 to i32, !dbg !18
  %1687 = icmp eq i32 %1686, 2, !dbg !18
  br i1 %1687, label %assert_end914, label %assert_fail913, !dbg !18, !prof !19

assert_fail913:                                   ; preds = %assert_end912
  %1688 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1688(i8* getelementptr inbounds ([203 x i8], [203 x i8]* @.str.58, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end914:                                    ; preds = %assert_end912
  %1689 = getelementptr inbounds i64, i64* %default_function.T_concat.shape, i64 2, !dbg !18
  %1690 = load i64, i64* %1689, align 8, !dbg !18, !tbaa !874
  %1691 = trunc i64 %1690 to i32, !dbg !18
  %1692 = icmp eq i32 %1691, 122, !dbg !18
  br i1 %1692, label %assert_end916, label %assert_fail915, !dbg !18, !prof !19

assert_fail915:                                   ; preds = %assert_end914
  %1693 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1693(i8* getelementptr inbounds ([207 x i8], [207 x i8]* @.str.59, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end916:                                    ; preds = %assert_end914
  %1694 = getelementptr inbounds i64, i64* %default_function.T_concat.shape, i64 3, !dbg !18
  %1695 = load i64, i64* %1694, align 8, !dbg !18, !tbaa !877
  %1696 = trunc i64 %1695 to i32, !dbg !18
  %1697 = icmp eq i32 %1696, 122, !dbg !18
  br i1 %1697, label %assert_end918, label %assert_fail917, !dbg !18, !prof !19

assert_fail917:                                   ; preds = %assert_end916
  %1698 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1698(i8* getelementptr inbounds ([207 x i8], [207 x i8]* @.str.60, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end918:                                    ; preds = %assert_end916
  %1699 = icmp eq i64* %default_function.T_concat.strides, null, !dbg !18
  br i1 %1699, label %if_end920, label %if_then919, !dbg !18, !prof !126

if_then919:                                       ; preds = %assert_end918
  %1700 = getelementptr inbounds i64, i64* %default_function.T_concat.strides, i64 1, !dbg !18
  %1701 = load i64, i64* %1700, align 8, !dbg !18, !tbaa !879
  %1702 = trunc i64 %1701 to i32, !dbg !18
  %1703 = icmp eq i32 %1702, 14884, !dbg !18
  %1704 = getelementptr inbounds i64, i64* %default_function.T_concat.strides, i64 2, !dbg !18
  %1705 = load i64, i64* %1704, align 8, !dbg !18, !tbaa !889
  %1706 = trunc i64 %1705 to i32, !dbg !18
  %1707 = icmp eq i32 %1706, 122, !dbg !18
  %1708 = getelementptr inbounds i64, i64* %default_function.T_concat.strides, i64 3, !dbg !18
  %1709 = load i64, i64* %1708, align 8, !dbg !18, !tbaa !892
  %1710 = trunc i64 %1709 to i32, !dbg !18
  %1711 = icmp eq i32 %1710, 1, !dbg !18
  %1712 = and i1 %1707, %1711, !dbg !18
  %1713 = and i1 %1703, %1712, !dbg !18
  br i1 %1713, label %if_end920, label %assert_fail921, !dbg !18, !prof !19

if_end920:                                        ; preds = %assert_end918, %if_then919
  %1714 = getelementptr inbounds %1, %1* %T_concat984, i64 0, i32 6, !dbg !18
  %1715 = load i64, i64* %1714, align 8, !dbg !18
  %1716 = icmp eq i64 %1715, 0, !dbg !18
  br i1 %1716, label %assert_end924, label %assert_fail923, !dbg !18, !prof !19

assert_fail921:                                   ; preds = %if_then919
  %1717 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1717(i8* getelementptr inbounds ([269 x i8], [269 x i8]* @.str.61, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_fail923:                                   ; preds = %if_end920
  %1718 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1718(i8* getelementptr inbounds ([208 x i8], [208 x i8]* @.str.62, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end924:                                    ; preds = %if_end920
  %1719 = getelementptr inbounds %1, %1* %T_concat984, i64 0, i32 1, i32 0, !dbg !18
  %1720 = load i32, i32* %1719, align 4, !dbg !18
  %1721 = icmp eq i32 %1720, 1, !dbg !18
  br i1 %1721, label %assert_end926, label %assert_fail925, !dbg !18, !prof !19

assert_fail925:                                   ; preds = %assert_end924
  %1722 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1722(i8* getelementptr inbounds ([188 x i8], [188 x i8]* @.str.63, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end926:                                    ; preds = %assert_end924
  %1723 = getelementptr inbounds %1, %1* %T_concat984, i64 0, i32 1, i32 1, !dbg !18
  %1724 = load i32, i32* %1723, align 4, !dbg !18
  %1725 = icmp eq i32 %dev_id, %1724, !dbg !18
  br i1 %1725, label %assert_end928, label %assert_fail927, !dbg !18, !prof !19

assert_fail927:                                   ; preds = %assert_end926
  %1726 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !dbg !18, !tbaa !20
  tail call void %1726(i8* getelementptr inbounds ([194 x i8], [194 x i8]* @.str.64, i64 0, i64 0)), !dbg !18
  ret i32 -1, !dbg !18

assert_end928:                                    ; preds = %assert_end926
  %1727 = call fastcc i32 @default_function_compute_(i8* nonnull %stack_value, float* %T_concat_void_ptr1011, i32* nonnull %stack_tcode957.sub, float* %ph_void_ptr136998, float* %ph_void_ptr2201010, float* %ph_void_ptr2131009, float* %ph_void_ptr2061008, float* %ph_void_ptr1991007, float* %ph_void_ptr1921006, float* %ph_void_ptr1851005, float* %ph_void_ptr1781004, float* %ph_void_ptr1711003, float* %ph_void_ptr1641002, float* %ph_void_ptr1571001, float* %ph_void_ptr1501000, float* %ph_void_ptr143999, float* %ph_void_ptr985, float* %ph_void_ptr129997, float* %ph_void_ptr122996, float* %ph_void_ptr115995, float* %ph_void_ptr108994, float* %ph_void_ptr101993, float* %ph_void_ptr94992, float* %ph_void_ptr87991, float* %ph_void_ptr80990, float* %ph_void_ptr73989, float* %ph_void_ptr66988, float* %ph_void_ptr59987, float* %ph_void_ptr52986), !dbg !18
  ret i32 %1727, !dbg !18
}

; Function Attrs: nounwind willreturn
declare void @llvm.assume(i1) #1

; Function Attrs: noinline
define internal fastcc i32 @default_function_compute_(i8* noalias %0, float* noalias align 64 %1, i32* noalias %2, float* noalias align 64 %3, float* noalias align 64 %4, float* noalias align 64 %5, float* noalias align 64 %6, float* noalias align 64 %7, float* noalias align 64 %8, float* noalias align 64 %9, float* noalias align 64 %10, float* noalias align 64 %11, float* noalias align 64 %12, float* noalias align 64 %13, float* noalias align 64 %14, float* noalias align 64 %15, float* noalias align 64 %16, float* noalias align 64 %17, float* noalias align 64 %18, float* noalias align 64 %19, float* noalias align 64 %20, float* noalias align 64 %21, float* noalias align 64 %22, float* noalias align 64 %23, float* noalias align 64 %24, float* noalias align 64 %25, float* noalias align 64 %26, float* noalias align 64 %27, float* noalias align 64 %28) unnamed_addr #2 {
entry:
  %29 = alloca i8*, align 8
  %30 = bitcast i8* %0 to %0*
  %31 = bitcast i8* %0 to float**
  store float* %1, float** %31, align 8
  %32 = getelementptr inbounds i8, i8* %0, i64 8
  %33 = bitcast i8* %32 to float**
  store float* %3, float** %33, align 8
  %34 = getelementptr inbounds i8, i8* %0, i64 16
  %35 = bitcast i8* %34 to float**
  store float* %4, float** %35, align 8
  %36 = getelementptr inbounds i8, i8* %0, i64 24
  %37 = bitcast i8* %36 to float**
  store float* %5, float** %37, align 8
  %38 = bitcast i32* %2 to <4 x i32>*
  store <4 x i32> <i32 3, i32 3, i32 3, i32 3>, <4 x i32>* %38, align 4, !tbaa !894
  %39 = getelementptr inbounds i8, i8* %0, i64 32
  %40 = bitcast i8* %39 to float**
  store float* %6, float** %40, align 8
  %41 = getelementptr inbounds i32, i32* %2, i64 4
  %42 = getelementptr inbounds i8, i8* %0, i64 40
  %43 = bitcast i8* %42 to float**
  store float* %7, float** %43, align 8
  %44 = getelementptr inbounds i8, i8* %0, i64 48
  %45 = bitcast i8* %44 to float**
  store float* %8, float** %45, align 8
  %46 = getelementptr inbounds i8, i8* %0, i64 56
  %47 = bitcast i8* %46 to float**
  store float* %9, float** %47, align 8
  %48 = bitcast i32* %41 to <4 x i32>*
  store <4 x i32> <i32 3, i32 3, i32 3, i32 3>, <4 x i32>* %48, align 4, !tbaa !903
  %49 = getelementptr inbounds i8, i8* %0, i64 64
  %50 = bitcast i8* %49 to float**
  store float* %10, float** %50, align 8
  %51 = getelementptr inbounds i32, i32* %2, i64 8
  %52 = getelementptr inbounds i8, i8* %0, i64 72
  %53 = bitcast i8* %52 to float**
  store float* %11, float** %53, align 8
  %54 = getelementptr inbounds i8, i8* %0, i64 80
  %55 = bitcast i8* %54 to float**
  store float* %12, float** %55, align 8
  %56 = getelementptr inbounds i8, i8* %0, i64 88
  %57 = bitcast i8* %56 to float**
  store float* %13, float** %57, align 8
  %58 = bitcast i32* %51 to <4 x i32>*
  store <4 x i32> <i32 3, i32 3, i32 3, i32 3>, <4 x i32>* %58, align 4, !tbaa !905
  %59 = getelementptr inbounds i8, i8* %0, i64 96
  %60 = bitcast i8* %59 to float**
  store float* %14, float** %60, align 8
  %61 = getelementptr inbounds i32, i32* %2, i64 12
  %62 = getelementptr inbounds i8, i8* %0, i64 104
  %63 = bitcast i8* %62 to float**
  store float* %15, float** %63, align 8
  %64 = getelementptr inbounds i8, i8* %0, i64 112
  %65 = bitcast i8* %64 to float**
  store float* %16, float** %65, align 8
  %66 = getelementptr inbounds i8, i8* %0, i64 120
  %67 = bitcast i8* %66 to float**
  store float* %17, float** %67, align 8
  %68 = bitcast i32* %61 to <4 x i32>*
  store <4 x i32> <i32 3, i32 3, i32 3, i32 3>, <4 x i32>* %68, align 4, !tbaa !908
  %69 = getelementptr inbounds i8, i8* %0, i64 128
  %70 = bitcast i8* %69 to float**
  store float* %18, float** %70, align 8
  %71 = getelementptr inbounds i32, i32* %2, i64 16
  %72 = getelementptr inbounds i8, i8* %0, i64 136
  %73 = bitcast i8* %72 to float**
  store float* %19, float** %73, align 8
  %74 = getelementptr inbounds i8, i8* %0, i64 144
  %75 = bitcast i8* %74 to float**
  store float* %20, float** %75, align 8
  %76 = getelementptr inbounds i8, i8* %0, i64 152
  %77 = bitcast i8* %76 to float**
  store float* %21, float** %77, align 8
  %78 = bitcast i32* %71 to <4 x i32>*
  store <4 x i32> <i32 3, i32 3, i32 3, i32 3>, <4 x i32>* %78, align 4, !tbaa !910
  %79 = getelementptr inbounds i8, i8* %0, i64 160
  %80 = bitcast i8* %79 to float**
  store float* %22, float** %80, align 8
  %81 = getelementptr inbounds i32, i32* %2, i64 20
  %82 = getelementptr inbounds i8, i8* %0, i64 168
  %83 = bitcast i8* %82 to float**
  store float* %23, float** %83, align 8
  %84 = getelementptr inbounds i8, i8* %0, i64 176
  %85 = bitcast i8* %84 to float**
  store float* %24, float** %85, align 8
  %86 = getelementptr inbounds i8, i8* %0, i64 184
  %87 = bitcast i8* %86 to float**
  store float* %25, float** %87, align 8
  %88 = bitcast i32* %81 to <4 x i32>*
  store <4 x i32> <i32 3, i32 3, i32 3, i32 3>, <4 x i32>* %88, align 4, !tbaa !914
  %89 = getelementptr inbounds i8, i8* %0, i64 192
  %90 = bitcast i8* %89 to float**
  store float* %26, float** %90, align 8
  %91 = getelementptr inbounds i32, i32* %2, i64 24
  store i32 3, i32* %91, align 4, !tbaa !916
  %92 = getelementptr inbounds i8, i8* %0, i64 200
  %93 = bitcast i8* %92 to float**
  store float* %27, float** %93, align 8
  %94 = getelementptr inbounds i32, i32* %2, i64 25
  store i32 3, i32* %94, align 4, !tbaa !921
  %95 = getelementptr inbounds i8, i8* %0, i64 208
  %96 = bitcast i8* %95 to float**
  store float* %28, float** %96, align 8
  %97 = getelementptr inbounds i32, i32* %2, i64 26
  store i32 3, i32* %97, align 4, !tbaa !923
  %98 = getelementptr inbounds i8, i8* %0, i64 216
  %99 = bitcast i8* %98 to %0*
  %100 = getelementptr inbounds i32, i32* %2, i64 27
  %101 = load i32 (i8*, %0*, i32*, i32, %0*, i32*)*, i32 (i8*, %0*, i32*, i32, %0*, i32*)** @__TVMFuncCall, align 8, !tbaa !20
  %102 = load i8*, i8** @.tvm_func.default_function_kernel, align 8
  %103 = icmp eq i8* %102, null
  br i1 %103, label %handle_init, label %handle_init_end, !prof !126

handle_init:                                      ; preds = %entry
  %104 = load i8*, i8** @__tvm_module_ctx, align 8, !tbaa !20
  %105 = load i32 (i8*, i8*, i8**)*, i32 (i8*, i8*, i8**)** @__TVMBackendGetFuncFromEnv, align 8, !tbaa !20
  %106 = call i32 %105(i8* %104, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.65, i64 0, i64 0), i8** nonnull %29)
  %107 = icmp eq i32 %106, 0
  br i1 %107, label %call_end, label %call_fail, !prof !19

handle_init_end:                                  ; preds = %entry, %call_end
  %108 = phi i8* [ %102, %entry ], [ %111, %call_end ]
  %109 = call i32 %101(i8* %108, %0* %30, i32* nonnull %2, i32 27, %0* nonnull %99, i32* nonnull %100)
  %110 = icmp eq i32 %109, 0
  br i1 %110, label %call_end2, label %call_fail, !prof !19

call_fail:                                        ; preds = %call_end2, %handle_init_end, %handle_init
  %merge = phi i32 [ %106, %handle_init ], [ %109, %handle_init_end ], [ 0, %call_end2 ]
  ret i32 %merge

call_end:                                         ; preds = %handle_init
  %111 = load i8*, i8** %29, align 8
  store i8* %111, i8** @.tvm_func.default_function_kernel, align 8
  br label %handle_init_end

call_end2:                                        ; preds = %handle_init_end
  %112 = bitcast i8* %98 to i64*
  %113 = load i64, i64* %112, align 8
  %kernel_error_code = trunc i64 %113 to i32
  %114 = icmp eq i32 %kernel_error_code, 0
  br i1 %114, label %call_fail, label %assert_fail, !prof !19

assert_fail:                                      ; preds = %call_end2
  %115 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !20
  call void %115(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.66, i64 0, i64 0))
  ret i32 -1
}

; Function Attrs: nounwind readnone
define weak dso_local i16 @__truncsfhf2(float %a0) local_unnamed_addr #3 section ".text.tvm.fp16.conv" {
b0:
  %v0 = bitcast float %a0 to i32
  %v1 = and i32 %v0, 2147483647
  %v2 = add nsw i32 %v1, -947912704
  %v3 = add nsw i32 %v1, -1199570944
  %v4 = icmp ult i32 %v2, %v3
  br i1 %v4, label %b1, label %b5

b1:                                               ; preds = %b0
  %v5 = lshr i32 %v0, 13
  %v6 = and i32 %v5, 65535
  %v7 = add nuw nsw i32 %v6, -114688
  %v8 = and i32 %v0, 8191
  %v9 = icmp ugt i32 %v8, 4096
  br i1 %v9, label %b2, label %b3

b2:                                               ; preds = %b1
  %v10 = add nuw nsw i32 %v6, -114687
  br label %b13

b3:                                               ; preds = %b1
  %v11 = icmp eq i32 %v8, 4096
  br i1 %v11, label %b4, label %b13

b4:                                               ; preds = %b3
  %v12 = and i32 %v7, 65535
  %v13 = and i32 %v5, 1
  %v14 = add nuw nsw i32 %v12, %v13
  br label %b13

b5:                                               ; preds = %b0
  %v15 = icmp ugt i32 %v1, 2139095040
  br i1 %v15, label %b6, label %b7

b6:                                               ; preds = %b5
  %v16 = lshr i32 %v0, 13
  %v17 = and i32 %v16, 511
  %v18 = or i32 %v17, 32256
  br label %b13

b7:                                               ; preds = %b5
  %v19 = icmp ugt i32 %v1, 1199570943
  br i1 %v19, label %b13, label %b8

b8:                                               ; preds = %b7
  %v20 = icmp ult i32 %v1, 754974720
  br i1 %v20, label %b13, label %b9

b9:                                               ; preds = %b8
  %v21 = lshr i32 %v1, 23
  %v22 = sub nsw i32 113, %v21
  %v23 = and i32 %v0, 8388607
  %v24 = or i32 %v23, 8388608
  %v25 = add nsw i32 %v21, -81
  %v26 = shl i32 %v24, %v25
  %v27 = icmp ne i32 %v26, 0
  %v28 = lshr i32 %v24, %v22
  %v29 = zext i1 %v27 to i32
  %v30 = lshr i32 %v28, 13
  %v31 = and i32 %v28, 8191
  %v32 = or i32 %v31, %v29
  %v33 = icmp ugt i32 %v32, 4096
  br i1 %v33, label %b10, label %b11

b10:                                              ; preds = %b9
  %v34 = add nuw nsw i32 %v30, 1
  br label %b13

b11:                                              ; preds = %b9
  %v35 = icmp eq i32 %v32, 4096
  br i1 %v35, label %b12, label %b13

b12:                                              ; preds = %b11
  %v36 = and i32 %v30, 1
  %v37 = add nuw nsw i32 %v36, %v30
  br label %b13

b13:                                              ; preds = %b12, %b11, %b10, %b8, %b7, %b6, %b4, %b3, %b2
  %v38 = phi i32 [ %v18, %b6 ], [ %v10, %b2 ], [ %v14, %b4 ], [ %v7, %b3 ], [ 31744, %b7 ], [ 0, %b8 ], [ %v34, %b10 ], [ %v37, %b12 ], [ %v30, %b11 ]
  %v39 = lshr i32 %v0, 16
  %v40 = and i32 %v39, 32768
  %v41 = or i32 %v38, %v40
  %vlast = trunc i32 %v41 to i16
  ret i16 %vlast
}

; Function Attrs: nounwind readnone
define weak dso_local float @__extendhfsf2(i16 %a0) local_unnamed_addr #3 section ".text.tvm.fp16.conv" {
b0:
  %v1 = and i16 %a0, 32767
  %v2 = zext i16 %v1 to i32
  %v3 = add nsw i16 %v1, -1024
  %v4 = icmp ult i16 %v3, 30720
  br i1 %v4, label %b1, label %b2

b1:                                               ; preds = %b0
  %v5 = shl nuw nsw i32 %v2, 13
  %v6 = add nuw nsw i32 %v5, 939524096
  br label %b6

b2:                                               ; preds = %b0
  %v7 = icmp ugt i16 %v1, 31743
  br i1 %v7, label %b3, label %b4

b3:                                               ; preds = %b2
  %v8 = shl nuw nsw i32 %v2, 13
  %v9 = or i32 %v8, 2139095040
  br label %b6

b4:                                               ; preds = %b2
  %v10 = icmp eq i16 %v1, 0
  br i1 %v10, label %b6, label %b5

b5:                                               ; preds = %b4
  %v11 = icmp ult i16 %v1, 256
  %v12 = lshr i32 %v2, 8
  %v13 = select i1 %v11, i32 %v2, i32 %v12
  %v14 = select i1 %v11, i32 32, i32 24
  %v15 = icmp ult i32 %v13, 16
  %v16 = lshr i32 %v13, 4
  %v17 = add nsw i32 %v14, -4
  %v18 = select i1 %v15, i32 %v13, i32 %v16
  %v19 = select i1 %v15, i32 %v14, i32 %v17
  %v20 = icmp ult i32 %v18, 4
  %v21 = lshr i32 %v18, 2
  %v22 = add nsw i32 %v19, -2
  %v23 = select i1 %v20, i32 %v18, i32 %v21
  %v24 = select i1 %v20, i32 %v19, i32 %v22
  %v25 = icmp ult i32 %v23, 2
  %v26 = sub nsw i32 0, %v23
  %v27 = select i1 %v25, i32 %v26, i32 -2
  %v28 = add nsw i32 %v27, %v24
  %v29 = add nsw i32 %v28, -8
  %v30 = shl i32 %v2, %v29
  %v31 = xor i32 %v30, 8388608
  %v32 = shl i32 %v28, 23
  %v33 = sub i32 1124073472, %v32
  %v34 = or i32 %v31, %v33
  br label %b6

b6:                                               ; preds = %b5, %b4, %b3, %b1
  %v35 = phi i32 [ %v6, %b1 ], [ %v9, %b3 ], [ %v34, %b5 ], [ 0, %b4 ]
  %v36 = and i16 %a0, -32768
  %v37 = zext i16 %v36 to i32
  %v38 = shl nuw i32 %v37, 16
  %v39 = or i32 %v35, %v38
  %v40 = bitcast i32 %v39 to float
  ret float %v40
}

; Function Attrs: nounwind readnone speculatable willreturn
declare void @llvm.dbg.value(metadata, metadata, metadata) #4

attributes #0 = { "target-cpu"="generic" }
attributes #1 = { nounwind willreturn }
attributes #2 = { noinline "target-cpu"="generic" }
attributes #3 = { nounwind readnone "target-cpu"="generic" "target-features" }
attributes #4 = { nounwind readnone speculatable willreturn }

!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!3, !4}

!0 = distinct !DICompileUnit(language: DW_LANG_C, file: !1, producer: "TVM", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
!1 = !DIFile(filename: "main.tir", directory: ".")
!2 = !{}
!3 = !{i32 2, !"tvm_target", !"llvm -mtriple=x86_64-pc-linux-gnu"}
!4 = !{i32 4, !"Debug Info Version", i32 3}
!5 = distinct !DISubprogram(name: "main.tir", scope: !1, file: !1, type: !6, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !11)
!6 = !DISubroutineType(types: !7)
!7 = !{!8, !9, !10, !8, !9, !10, !9}
!8 = !DIBasicType(name: "int32", size: 32, encoding: DW_ATE_signed)
!9 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null)
!10 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !8)
!11 = !{!12, !13, !14, !15, !16, !17}
!12 = !DILocalVariable(name: "arg1", arg: 1, scope: !5, file: !1, type: !9)
!13 = !DILocalVariable(name: "arg2", arg: 2, scope: !5, file: !1, type: !10)
!14 = !DILocalVariable(name: "arg3", arg: 3, scope: !5, file: !1, type: !8)
!15 = !DILocalVariable(name: "arg4", arg: 4, scope: !5, file: !1, type: !9)
!16 = !DILocalVariable(name: "arg5", arg: 5, scope: !5, file: !1, type: !10)
!17 = !DILocalVariable(name: "arg6", arg: 6, scope: !5, file: !1, type: !9)
!18 = !DILocation(line: 0, scope: !5)
!19 = !{!"branch_weights", i32 1048576, i32 1}
!20 = !{!21, !21, i64 0}
!21 = !{!"ctx_ptr", !22, i64 0}
!22 = !{!"tvm-tbaa"}
!23 = !{!24, !24, i64 0}
!24 = !{!"0x557242348940.w4.b0", !25, i64 0}
!25 = !{!"0x557242348940.w8.b0", !26, i64 0}
!26 = !{!"0x557242348940.w16.b0", !27, i64 0}
!27 = !{!"0x557242348940.w32.b0", !28, i64 0}
!28 = !{!"0x557242348940.w64.b0", !29, i64 0}
!29 = !{!"0x557242348940.w128.b0", !30, i64 0}
!30 = !{!"0x557242348940.w256.b0", !31, i64 0}
!31 = !{!"0x557242348940.w512.b0", !32, i64 0}
!32 = !{!"0x557242348940.w1024.b0", !33, i64 0}
!33 = !{!"0x557242348940", !22, i64 0}
!34 = !{!35, !35, i64 0}
!35 = !{!"0x557242348940.w4.b4", !25, i64 0}
!36 = !{!37, !37, i64 0}
!37 = !{!"0x557242348940.w4.b8", !38, i64 0}
!38 = !{!"0x557242348940.w8.b8", !26, i64 0}
!39 = !{!40, !40, i64 0}
!40 = !{!"0x557242348940.w4.b12", !38, i64 0}
!41 = !{!42, !42, i64 0}
!42 = !{!"0x557242348940.w4.b16", !43, i64 0}
!43 = !{!"0x557242348940.w8.b16", !44, i64 0}
!44 = !{!"0x557242348940.w16.b16", !27, i64 0}
!45 = !{!46, !46, i64 0}
!46 = !{!"0x557242348940.w4.b20", !43, i64 0}
!47 = !{!48, !48, i64 0}
!48 = !{!"0x557242348940.w4.b24", !49, i64 0}
!49 = !{!"0x557242348940.w8.b24", !44, i64 0}
!50 = !{!51, !51, i64 0}
!51 = !{!"0x557242348940.w4.b28", !49, i64 0}
!52 = !{!53, !53, i64 0}
!53 = !{!"0x557242348940.w4.b32", !54, i64 0}
!54 = !{!"0x557242348940.w8.b32", !55, i64 0}
!55 = !{!"0x557242348940.w16.b32", !56, i64 0}
!56 = !{!"0x557242348940.w32.b32", !28, i64 0}
!57 = !{!58, !58, i64 0}
!58 = !{!"0x557242348940.w4.b36", !54, i64 0}
!59 = !{!60, !60, i64 0}
!60 = !{!"0x557242348940.w4.b40", !61, i64 0}
!61 = !{!"0x557242348940.w8.b40", !55, i64 0}
!62 = !{!63, !63, i64 0}
!63 = !{!"0x557242348940.w4.b44", !61, i64 0}
!64 = !{!65, !65, i64 0}
!65 = !{!"0x557242348940.w4.b48", !66, i64 0}
!66 = !{!"0x557242348940.w8.b48", !67, i64 0}
!67 = !{!"0x557242348940.w16.b48", !56, i64 0}
!68 = !{!69, !69, i64 0}
!69 = !{!"0x557242348940.w4.b52", !66, i64 0}
!70 = !{!71, !71, i64 0}
!71 = !{!"0x557242348940.w4.b56", !72, i64 0}
!72 = !{!"0x557242348940.w8.b56", !67, i64 0}
!73 = !{!74, !74, i64 0}
!74 = !{!"0x557242348940.w4.b60", !72, i64 0}
!75 = !{!76, !76, i64 0}
!76 = !{!"0x557242348940.w4.b64", !77, i64 0}
!77 = !{!"0x557242348940.w8.b64", !78, i64 0}
!78 = !{!"0x557242348940.w16.b64", !79, i64 0}
!79 = !{!"0x557242348940.w32.b64", !80, i64 0}
!80 = !{!"0x557242348940.w64.b64", !29, i64 0}
!81 = !{!82, !82, i64 0}
!82 = !{!"0x557242348940.w4.b68", !77, i64 0}
!83 = !{!84, !84, i64 0}
!84 = !{!"0x557242348940.w4.b72", !85, i64 0}
!85 = !{!"0x557242348940.w8.b72", !78, i64 0}
!86 = !{!87, !87, i64 0}
!87 = !{!"0x557242348940.w4.b76", !85, i64 0}
!88 = !{!89, !89, i64 0}
!89 = !{!"0x557242348940.w4.b80", !90, i64 0}
!90 = !{!"0x557242348940.w8.b80", !91, i64 0}
!91 = !{!"0x557242348940.w16.b80", !79, i64 0}
!92 = !{!93, !93, i64 0}
!93 = !{!"0x557242348940.w4.b84", !90, i64 0}
!94 = !{!95, !95, i64 0}
!95 = !{!"0x557242348940.w4.b88", !96, i64 0}
!96 = !{!"0x557242348940.w8.b88", !91, i64 0}
!97 = !{!98, !98, i64 0}
!98 = !{!"0x557242348940.w4.b92", !96, i64 0}
!99 = !{!100, !100, i64 0}
!100 = !{!"0x557242348940.w4.b96", !101, i64 0}
!101 = !{!"0x557242348940.w8.b96", !102, i64 0}
!102 = !{!"0x557242348940.w16.b96", !103, i64 0}
!103 = !{!"0x557242348940.w32.b96", !80, i64 0}
!104 = !{!105, !105, i64 0}
!105 = !{!"0x557242348940.w4.b100", !101, i64 0}
!106 = !{!107, !107, i64 0}
!107 = !{!"0x557242348940.w4.b104", !108, i64 0}
!108 = !{!"0x557242348940.w8.b104", !102, i64 0}
!109 = !{!110, !110, i64 0}
!110 = !{!"0x5572420b06e0.w8.b0", !111, i64 0}
!111 = !{!"0x5572420b06e0.w16.b0", !112, i64 0}
!112 = !{!"0x5572420b06e0.w32.b0", !113, i64 0}
!113 = !{!"0x5572420b06e0.w64.b0", !114, i64 0}
!114 = !{!"0x5572420b06e0.w128.b0", !115, i64 0}
!115 = !{!"0x5572420b06e0.w256.b0", !116, i64 0}
!116 = !{!"0x5572420b06e0.w512.b0", !117, i64 0}
!117 = !{!"0x5572420b06e0.w1024.b0", !118, i64 0}
!118 = !{!"0x5572420b06e0", !22, i64 0}
!119 = !{!120, !120, i64 0}
!120 = !{!"0x5572420b06e0.w8.b8", !111, i64 0}
!121 = !{!122, !122, i64 0}
!122 = !{!"0x5572420b06e0.w8.b16", !123, i64 0}
!123 = !{!"0x5572420b06e0.w16.b16", !112, i64 0}
!124 = !{!125, !125, i64 0}
!125 = !{!"0x5572420b06e0.w8.b24", !123, i64 0}
!126 = !{!"branch_weights", i32 1, i32 1048576}
!127 = !{!128, !128, i64 0}
!128 = !{!"0x5572420a1c80.w8.b8", !129, i64 0}
!129 = !{!"0x5572420a1c80.w16.b0", !130, i64 0}
!130 = !{!"0x5572420a1c80.w32.b0", !131, i64 0}
!131 = !{!"0x5572420a1c80.w64.b0", !132, i64 0}
!132 = !{!"0x5572420a1c80.w128.b0", !133, i64 0}
!133 = !{!"0x5572420a1c80.w256.b0", !134, i64 0}
!134 = !{!"0x5572420a1c80.w512.b0", !135, i64 0}
!135 = !{!"0x5572420a1c80.w1024.b0", !136, i64 0}
!136 = !{!"0x5572420a1c80", !22, i64 0}
!137 = !{!138, !138, i64 0}
!138 = !{!"0x5572420a1c80.w8.b16", !139, i64 0}
!139 = !{!"0x5572420a1c80.w16.b16", !130, i64 0}
!140 = !{!141, !141, i64 0}
!141 = !{!"0x5572420a1c80.w8.b24", !139, i64 0}
!142 = !{!143, !143, i64 0}
!143 = !{!"0x5572422bd190.w8.b0", !144, i64 0}
!144 = !{!"0x5572422bd190.w16.b0", !145, i64 0}
!145 = !{!"0x5572422bd190.w32.b0", !146, i64 0}
!146 = !{!"0x5572422bd190.w64.b0", !147, i64 0}
!147 = !{!"0x5572422bd190.w128.b0", !148, i64 0}
!148 = !{!"0x5572422bd190.w256.b0", !149, i64 0}
!149 = !{!"0x5572422bd190.w512.b0", !150, i64 0}
!150 = !{!"0x5572422bd190.w1024.b0", !151, i64 0}
!151 = !{!"0x5572422bd190", !22, i64 0}
!152 = !{!153, !153, i64 0}
!153 = !{!"0x5572422bd190.w8.b8", !144, i64 0}
!154 = !{!155, !155, i64 0}
!155 = !{!"0x5572422bd190.w8.b16", !156, i64 0}
!156 = !{!"0x5572422bd190.w16.b16", !145, i64 0}
!157 = !{!158, !158, i64 0}
!158 = !{!"0x5572422bd190.w8.b24", !156, i64 0}
!159 = !{!160, !160, i64 0}
!160 = !{!"0x5572421e5900.w8.b8", !161, i64 0}
!161 = !{!"0x5572421e5900.w16.b0", !162, i64 0}
!162 = !{!"0x5572421e5900.w32.b0", !163, i64 0}
!163 = !{!"0x5572421e5900.w64.b0", !164, i64 0}
!164 = !{!"0x5572421e5900.w128.b0", !165, i64 0}
!165 = !{!"0x5572421e5900.w256.b0", !166, i64 0}
!166 = !{!"0x5572421e5900.w512.b0", !167, i64 0}
!167 = !{!"0x5572421e5900.w1024.b0", !168, i64 0}
!168 = !{!"0x5572421e5900", !22, i64 0}
!169 = !{!170, !170, i64 0}
!170 = !{!"0x5572421e5900.w8.b16", !171, i64 0}
!171 = !{!"0x5572421e5900.w16.b16", !162, i64 0}
!172 = !{!173, !173, i64 0}
!173 = !{!"0x5572421e5900.w8.b24", !171, i64 0}
!174 = !{!175, !175, i64 0}
!175 = !{!"0x5572422c0d10.w8.b0", !176, i64 0}
!176 = !{!"0x5572422c0d10.w16.b0", !177, i64 0}
!177 = !{!"0x5572422c0d10.w32.b0", !178, i64 0}
!178 = !{!"0x5572422c0d10.w64.b0", !179, i64 0}
!179 = !{!"0x5572422c0d10.w128.b0", !180, i64 0}
!180 = !{!"0x5572422c0d10.w256.b0", !181, i64 0}
!181 = !{!"0x5572422c0d10.w512.b0", !182, i64 0}
!182 = !{!"0x5572422c0d10.w1024.b0", !183, i64 0}
!183 = !{!"0x5572422c0d10", !22, i64 0}
!184 = !{!185, !185, i64 0}
!185 = !{!"0x5572422c0d10.w8.b8", !176, i64 0}
!186 = !{!187, !187, i64 0}
!187 = !{!"0x5572422c0d10.w8.b16", !188, i64 0}
!188 = !{!"0x5572422c0d10.w16.b16", !177, i64 0}
!189 = !{!190, !190, i64 0}
!190 = !{!"0x5572422c0d10.w8.b24", !188, i64 0}
!191 = !{!192, !192, i64 0}
!192 = !{!"0x55724221b800.w8.b8", !193, i64 0}
!193 = !{!"0x55724221b800.w16.b0", !194, i64 0}
!194 = !{!"0x55724221b800.w32.b0", !195, i64 0}
!195 = !{!"0x55724221b800.w64.b0", !196, i64 0}
!196 = !{!"0x55724221b800.w128.b0", !197, i64 0}
!197 = !{!"0x55724221b800.w256.b0", !198, i64 0}
!198 = !{!"0x55724221b800.w512.b0", !199, i64 0}
!199 = !{!"0x55724221b800.w1024.b0", !200, i64 0}
!200 = !{!"0x55724221b800", !22, i64 0}
!201 = !{!202, !202, i64 0}
!202 = !{!"0x5572421e4e70.w8.b0", !203, i64 0}
!203 = !{!"0x5572421e4e70.w16.b0", !204, i64 0}
!204 = !{!"0x5572421e4e70.w32.b0", !205, i64 0}
!205 = !{!"0x5572421e4e70.w64.b0", !206, i64 0}
!206 = !{!"0x5572421e4e70.w128.b0", !207, i64 0}
!207 = !{!"0x5572421e4e70.w256.b0", !208, i64 0}
!208 = !{!"0x5572421e4e70.w512.b0", !209, i64 0}
!209 = !{!"0x5572421e4e70.w1024.b0", !210, i64 0}
!210 = !{!"0x5572421e4e70", !22, i64 0}
!211 = !{!212, !212, i64 0}
!212 = !{!"0x5572421e4e70.w8.b8", !203, i64 0}
!213 = !{!214, !214, i64 0}
!214 = !{!"0x5572421e4e70.w8.b16", !215, i64 0}
!215 = !{!"0x5572421e4e70.w16.b16", !204, i64 0}
!216 = !{!217, !217, i64 0}
!217 = !{!"0x5572421e4e70.w8.b24", !215, i64 0}
!218 = !{!219, !219, i64 0}
!219 = !{!"0x55724218c380.w8.b8", !220, i64 0}
!220 = !{!"0x55724218c380.w16.b0", !221, i64 0}
!221 = !{!"0x55724218c380.w32.b0", !222, i64 0}
!222 = !{!"0x55724218c380.w64.b0", !223, i64 0}
!223 = !{!"0x55724218c380.w128.b0", !224, i64 0}
!224 = !{!"0x55724218c380.w256.b0", !225, i64 0}
!225 = !{!"0x55724218c380.w512.b0", !226, i64 0}
!226 = !{!"0x55724218c380.w1024.b0", !227, i64 0}
!227 = !{!"0x55724218c380", !22, i64 0}
!228 = !{!229, !229, i64 0}
!229 = !{!"0x5572421d3d80.w8.b0", !230, i64 0}
!230 = !{!"0x5572421d3d80.w16.b0", !231, i64 0}
!231 = !{!"0x5572421d3d80.w32.b0", !232, i64 0}
!232 = !{!"0x5572421d3d80.w64.b0", !233, i64 0}
!233 = !{!"0x5572421d3d80.w128.b0", !234, i64 0}
!234 = !{!"0x5572421d3d80.w256.b0", !235, i64 0}
!235 = !{!"0x5572421d3d80.w512.b0", !236, i64 0}
!236 = !{!"0x5572421d3d80.w1024.b0", !237, i64 0}
!237 = !{!"0x5572421d3d80", !22, i64 0}
!238 = !{!239, !239, i64 0}
!239 = !{!"0x5572421d3d80.w8.b8", !230, i64 0}
!240 = !{!241, !241, i64 0}
!241 = !{!"0x5572421d3d80.w8.b16", !242, i64 0}
!242 = !{!"0x5572421d3d80.w16.b16", !231, i64 0}
!243 = !{!244, !244, i64 0}
!244 = !{!"0x5572421d3d80.w8.b24", !242, i64 0}
!245 = !{!246, !246, i64 0}
!246 = !{!"0x5572420efe20.w8.b8", !247, i64 0}
!247 = !{!"0x5572420efe20.w16.b0", !248, i64 0}
!248 = !{!"0x5572420efe20.w32.b0", !249, i64 0}
!249 = !{!"0x5572420efe20.w64.b0", !250, i64 0}
!250 = !{!"0x5572420efe20.w128.b0", !251, i64 0}
!251 = !{!"0x5572420efe20.w256.b0", !252, i64 0}
!252 = !{!"0x5572420efe20.w512.b0", !253, i64 0}
!253 = !{!"0x5572420efe20.w1024.b0", !254, i64 0}
!254 = !{!"0x5572420efe20", !22, i64 0}
!255 = !{!256, !256, i64 0}
!256 = !{!"0x5572420efe20.w8.b16", !257, i64 0}
!257 = !{!"0x5572420efe20.w16.b16", !248, i64 0}
!258 = !{!259, !259, i64 0}
!259 = !{!"0x5572420efe20.w8.b24", !257, i64 0}
!260 = !{!261, !261, i64 0}
!261 = !{!"0x557242258490.w8.b0", !262, i64 0}
!262 = !{!"0x557242258490.w16.b0", !263, i64 0}
!263 = !{!"0x557242258490.w32.b0", !264, i64 0}
!264 = !{!"0x557242258490.w64.b0", !265, i64 0}
!265 = !{!"0x557242258490.w128.b0", !266, i64 0}
!266 = !{!"0x557242258490.w256.b0", !267, i64 0}
!267 = !{!"0x557242258490.w512.b0", !268, i64 0}
!268 = !{!"0x557242258490.w1024.b0", !269, i64 0}
!269 = !{!"0x557242258490", !22, i64 0}
!270 = !{!271, !271, i64 0}
!271 = !{!"0x557242258490.w8.b8", !262, i64 0}
!272 = !{!273, !273, i64 0}
!273 = !{!"0x557242258490.w8.b16", !274, i64 0}
!274 = !{!"0x557242258490.w16.b16", !263, i64 0}
!275 = !{!276, !276, i64 0}
!276 = !{!"0x557242258490.w8.b24", !274, i64 0}
!277 = !{!278, !278, i64 0}
!278 = !{!"0x5572421ccff0.w8.b8", !279, i64 0}
!279 = !{!"0x5572421ccff0.w16.b0", !280, i64 0}
!280 = !{!"0x5572421ccff0.w32.b0", !281, i64 0}
!281 = !{!"0x5572421ccff0.w64.b0", !282, i64 0}
!282 = !{!"0x5572421ccff0.w128.b0", !283, i64 0}
!283 = !{!"0x5572421ccff0.w256.b0", !284, i64 0}
!284 = !{!"0x5572421ccff0.w512.b0", !285, i64 0}
!285 = !{!"0x5572421ccff0.w1024.b0", !286, i64 0}
!286 = !{!"0x5572421ccff0", !22, i64 0}
!287 = !{!288, !288, i64 0}
!288 = !{!"0x5572420ebce0.w8.b0", !289, i64 0}
!289 = !{!"0x5572420ebce0.w16.b0", !290, i64 0}
!290 = !{!"0x5572420ebce0.w32.b0", !291, i64 0}
!291 = !{!"0x5572420ebce0.w64.b0", !292, i64 0}
!292 = !{!"0x5572420ebce0.w128.b0", !293, i64 0}
!293 = !{!"0x5572420ebce0.w256.b0", !294, i64 0}
!294 = !{!"0x5572420ebce0.w512.b0", !295, i64 0}
!295 = !{!"0x5572420ebce0.w1024.b0", !296, i64 0}
!296 = !{!"0x5572420ebce0", !22, i64 0}
!297 = !{!298, !298, i64 0}
!298 = !{!"0x5572420ebce0.w8.b8", !289, i64 0}
!299 = !{!300, !300, i64 0}
!300 = !{!"0x5572420ebce0.w8.b16", !301, i64 0}
!301 = !{!"0x5572420ebce0.w16.b16", !290, i64 0}
!302 = !{!303, !303, i64 0}
!303 = !{!"0x5572420ebce0.w8.b24", !301, i64 0}
!304 = !{!305, !305, i64 0}
!305 = !{!"0x557242153ab0.w8.b8", !306, i64 0}
!306 = !{!"0x557242153ab0.w16.b0", !307, i64 0}
!307 = !{!"0x557242153ab0.w32.b0", !308, i64 0}
!308 = !{!"0x557242153ab0.w64.b0", !309, i64 0}
!309 = !{!"0x557242153ab0.w128.b0", !310, i64 0}
!310 = !{!"0x557242153ab0.w256.b0", !311, i64 0}
!311 = !{!"0x557242153ab0.w512.b0", !312, i64 0}
!312 = !{!"0x557242153ab0.w1024.b0", !313, i64 0}
!313 = !{!"0x557242153ab0", !22, i64 0}
!314 = !{!315, !315, i64 0}
!315 = !{!"0x5572420b0c50.w8.b0", !316, i64 0}
!316 = !{!"0x5572420b0c50.w16.b0", !317, i64 0}
!317 = !{!"0x5572420b0c50.w32.b0", !318, i64 0}
!318 = !{!"0x5572420b0c50.w64.b0", !319, i64 0}
!319 = !{!"0x5572420b0c50.w128.b0", !320, i64 0}
!320 = !{!"0x5572420b0c50.w256.b0", !321, i64 0}
!321 = !{!"0x5572420b0c50.w512.b0", !322, i64 0}
!322 = !{!"0x5572420b0c50.w1024.b0", !323, i64 0}
!323 = !{!"0x5572420b0c50", !22, i64 0}
!324 = !{!325, !325, i64 0}
!325 = !{!"0x5572420b0c50.w8.b8", !316, i64 0}
!326 = !{!327, !327, i64 0}
!327 = !{!"0x5572420b0c50.w8.b16", !328, i64 0}
!328 = !{!"0x5572420b0c50.w16.b16", !317, i64 0}
!329 = !{!330, !330, i64 0}
!330 = !{!"0x5572420b0c50.w8.b24", !328, i64 0}
!331 = !{!332, !332, i64 0}
!332 = !{!"0x55724222d600.w8.b8", !333, i64 0}
!333 = !{!"0x55724222d600.w16.b0", !334, i64 0}
!334 = !{!"0x55724222d600.w32.b0", !335, i64 0}
!335 = !{!"0x55724222d600.w64.b0", !336, i64 0}
!336 = !{!"0x55724222d600.w128.b0", !337, i64 0}
!337 = !{!"0x55724222d600.w256.b0", !338, i64 0}
!338 = !{!"0x55724222d600.w512.b0", !339, i64 0}
!339 = !{!"0x55724222d600.w1024.b0", !340, i64 0}
!340 = !{!"0x55724222d600", !22, i64 0}
!341 = !{!342, !342, i64 0}
!342 = !{!"0x55724222d600.w8.b16", !343, i64 0}
!343 = !{!"0x55724222d600.w16.b16", !334, i64 0}
!344 = !{!345, !345, i64 0}
!345 = !{!"0x55724222d600.w8.b24", !343, i64 0}
!346 = !{!347, !347, i64 0}
!347 = !{!"0x55724222be80.w8.b0", !348, i64 0}
!348 = !{!"0x55724222be80.w16.b0", !349, i64 0}
!349 = !{!"0x55724222be80.w32.b0", !350, i64 0}
!350 = !{!"0x55724222be80.w64.b0", !351, i64 0}
!351 = !{!"0x55724222be80.w128.b0", !352, i64 0}
!352 = !{!"0x55724222be80.w256.b0", !353, i64 0}
!353 = !{!"0x55724222be80.w512.b0", !354, i64 0}
!354 = !{!"0x55724222be80.w1024.b0", !355, i64 0}
!355 = !{!"0x55724222be80", !22, i64 0}
!356 = !{!357, !357, i64 0}
!357 = !{!"0x55724222be80.w8.b8", !348, i64 0}
!358 = !{!359, !359, i64 0}
!359 = !{!"0x55724222be80.w8.b16", !360, i64 0}
!360 = !{!"0x55724222be80.w16.b16", !349, i64 0}
!361 = !{!362, !362, i64 0}
!362 = !{!"0x55724222be80.w8.b24", !360, i64 0}
!363 = !{!364, !364, i64 0}
!364 = !{!"0x5572422c13c0.w8.b8", !365, i64 0}
!365 = !{!"0x5572422c13c0.w16.b0", !366, i64 0}
!366 = !{!"0x5572422c13c0.w32.b0", !367, i64 0}
!367 = !{!"0x5572422c13c0.w64.b0", !368, i64 0}
!368 = !{!"0x5572422c13c0.w128.b0", !369, i64 0}
!369 = !{!"0x5572422c13c0.w256.b0", !370, i64 0}
!370 = !{!"0x5572422c13c0.w512.b0", !371, i64 0}
!371 = !{!"0x5572422c13c0.w1024.b0", !372, i64 0}
!372 = !{!"0x5572422c13c0", !22, i64 0}
!373 = !{!374, !374, i64 0}
!374 = !{!"0x5572420e5be0.w8.b0", !375, i64 0}
!375 = !{!"0x5572420e5be0.w16.b0", !376, i64 0}
!376 = !{!"0x5572420e5be0.w32.b0", !377, i64 0}
!377 = !{!"0x5572420e5be0.w64.b0", !378, i64 0}
!378 = !{!"0x5572420e5be0.w128.b0", !379, i64 0}
!379 = !{!"0x5572420e5be0.w256.b0", !380, i64 0}
!380 = !{!"0x5572420e5be0.w512.b0", !381, i64 0}
!381 = !{!"0x5572420e5be0.w1024.b0", !382, i64 0}
!382 = !{!"0x5572420e5be0", !22, i64 0}
!383 = !{!384, !384, i64 0}
!384 = !{!"0x5572420e5be0.w8.b8", !375, i64 0}
!385 = !{!386, !386, i64 0}
!386 = !{!"0x5572420e5be0.w8.b16", !387, i64 0}
!387 = !{!"0x5572420e5be0.w16.b16", !376, i64 0}
!388 = !{!389, !389, i64 0}
!389 = !{!"0x5572420e5be0.w8.b24", !387, i64 0}
!390 = !{!391, !391, i64 0}
!391 = !{!"0x5572421d5a10.w8.b8", !392, i64 0}
!392 = !{!"0x5572421d5a10.w16.b0", !393, i64 0}
!393 = !{!"0x5572421d5a10.w32.b0", !394, i64 0}
!394 = !{!"0x5572421d5a10.w64.b0", !395, i64 0}
!395 = !{!"0x5572421d5a10.w128.b0", !396, i64 0}
!396 = !{!"0x5572421d5a10.w256.b0", !397, i64 0}
!397 = !{!"0x5572421d5a10.w512.b0", !398, i64 0}
!398 = !{!"0x5572421d5a10.w1024.b0", !399, i64 0}
!399 = !{!"0x5572421d5a10", !22, i64 0}
!400 = !{!401, !401, i64 0}
!401 = !{!"0x5572421c8260.w8.b0", !402, i64 0}
!402 = !{!"0x5572421c8260.w16.b0", !403, i64 0}
!403 = !{!"0x5572421c8260.w32.b0", !404, i64 0}
!404 = !{!"0x5572421c8260.w64.b0", !405, i64 0}
!405 = !{!"0x5572421c8260.w128.b0", !406, i64 0}
!406 = !{!"0x5572421c8260.w256.b0", !407, i64 0}
!407 = !{!"0x5572421c8260.w512.b0", !408, i64 0}
!408 = !{!"0x5572421c8260.w1024.b0", !409, i64 0}
!409 = !{!"0x5572421c8260", !22, i64 0}
!410 = !{!411, !411, i64 0}
!411 = !{!"0x5572421c8260.w8.b8", !402, i64 0}
!412 = !{!413, !413, i64 0}
!413 = !{!"0x5572421c8260.w8.b16", !414, i64 0}
!414 = !{!"0x5572421c8260.w16.b16", !403, i64 0}
!415 = !{!416, !416, i64 0}
!416 = !{!"0x5572421c8260.w8.b24", !414, i64 0}
!417 = !{!418, !418, i64 0}
!418 = !{!"0x5572421d9ad0.w8.b8", !419, i64 0}
!419 = !{!"0x5572421d9ad0.w16.b0", !420, i64 0}
!420 = !{!"0x5572421d9ad0.w32.b0", !421, i64 0}
!421 = !{!"0x5572421d9ad0.w64.b0", !422, i64 0}
!422 = !{!"0x5572421d9ad0.w128.b0", !423, i64 0}
!423 = !{!"0x5572421d9ad0.w256.b0", !424, i64 0}
!424 = !{!"0x5572421d9ad0.w512.b0", !425, i64 0}
!425 = !{!"0x5572421d9ad0.w1024.b0", !426, i64 0}
!426 = !{!"0x5572421d9ad0", !22, i64 0}
!427 = !{!428, !428, i64 0}
!428 = !{!"0x5572421d9ad0.w8.b16", !429, i64 0}
!429 = !{!"0x5572421d9ad0.w16.b16", !420, i64 0}
!430 = !{!431, !431, i64 0}
!431 = !{!"0x5572421d9ad0.w8.b24", !429, i64 0}
!432 = !{!433, !433, i64 0}
!433 = !{!"0x55724222cdb0.w8.b0", !434, i64 0}
!434 = !{!"0x55724222cdb0.w16.b0", !435, i64 0}
!435 = !{!"0x55724222cdb0.w32.b0", !436, i64 0}
!436 = !{!"0x55724222cdb0.w64.b0", !437, i64 0}
!437 = !{!"0x55724222cdb0.w128.b0", !438, i64 0}
!438 = !{!"0x55724222cdb0.w256.b0", !439, i64 0}
!439 = !{!"0x55724222cdb0.w512.b0", !440, i64 0}
!440 = !{!"0x55724222cdb0.w1024.b0", !441, i64 0}
!441 = !{!"0x55724222cdb0", !22, i64 0}
!442 = !{!443, !443, i64 0}
!443 = !{!"0x55724222cdb0.w8.b8", !434, i64 0}
!444 = !{!445, !445, i64 0}
!445 = !{!"0x55724222cdb0.w8.b16", !446, i64 0}
!446 = !{!"0x55724222cdb0.w16.b16", !435, i64 0}
!447 = !{!448, !448, i64 0}
!448 = !{!"0x55724222cdb0.w8.b24", !446, i64 0}
!449 = !{!450, !450, i64 0}
!450 = !{!"0x5572422bedf0.w8.b8", !451, i64 0}
!451 = !{!"0x5572422bedf0.w16.b0", !452, i64 0}
!452 = !{!"0x5572422bedf0.w32.b0", !453, i64 0}
!453 = !{!"0x5572422bedf0.w64.b0", !454, i64 0}
!454 = !{!"0x5572422bedf0.w128.b0", !455, i64 0}
!455 = !{!"0x5572422bedf0.w256.b0", !456, i64 0}
!456 = !{!"0x5572422bedf0.w512.b0", !457, i64 0}
!457 = !{!"0x5572422bedf0.w1024.b0", !458, i64 0}
!458 = !{!"0x5572422bedf0", !22, i64 0}
!459 = !{!460, !460, i64 0}
!460 = !{!"0x557242136ca0.w8.b0", !461, i64 0}
!461 = !{!"0x557242136ca0.w16.b0", !462, i64 0}
!462 = !{!"0x557242136ca0.w32.b0", !463, i64 0}
!463 = !{!"0x557242136ca0.w64.b0", !464, i64 0}
!464 = !{!"0x557242136ca0.w128.b0", !465, i64 0}
!465 = !{!"0x557242136ca0.w256.b0", !466, i64 0}
!466 = !{!"0x557242136ca0.w512.b0", !467, i64 0}
!467 = !{!"0x557242136ca0.w1024.b0", !468, i64 0}
!468 = !{!"0x557242136ca0", !22, i64 0}
!469 = !{!470, !470, i64 0}
!470 = !{!"0x557242136ca0.w8.b8", !461, i64 0}
!471 = !{!472, !472, i64 0}
!472 = !{!"0x557242136ca0.w8.b16", !473, i64 0}
!473 = !{!"0x557242136ca0.w16.b16", !462, i64 0}
!474 = !{!475, !475, i64 0}
!475 = !{!"0x557242136ca0.w8.b24", !473, i64 0}
!476 = !{!477, !477, i64 0}
!477 = !{!"0x5572421d3860.w8.b8", !478, i64 0}
!478 = !{!"0x5572421d3860.w16.b0", !479, i64 0}
!479 = !{!"0x5572421d3860.w32.b0", !480, i64 0}
!480 = !{!"0x5572421d3860.w64.b0", !481, i64 0}
!481 = !{!"0x5572421d3860.w128.b0", !482, i64 0}
!482 = !{!"0x5572421d3860.w256.b0", !483, i64 0}
!483 = !{!"0x5572421d3860.w512.b0", !484, i64 0}
!484 = !{!"0x5572421d3860.w1024.b0", !485, i64 0}
!485 = !{!"0x5572421d3860", !22, i64 0}
!486 = !{!487, !487, i64 0}
!487 = !{!"0x5572421dd850.w8.b0", !488, i64 0}
!488 = !{!"0x5572421dd850.w16.b0", !489, i64 0}
!489 = !{!"0x5572421dd850.w32.b0", !490, i64 0}
!490 = !{!"0x5572421dd850.w64.b0", !491, i64 0}
!491 = !{!"0x5572421dd850.w128.b0", !492, i64 0}
!492 = !{!"0x5572421dd850.w256.b0", !493, i64 0}
!493 = !{!"0x5572421dd850.w512.b0", !494, i64 0}
!494 = !{!"0x5572421dd850.w1024.b0", !495, i64 0}
!495 = !{!"0x5572421dd850", !22, i64 0}
!496 = !{!497, !497, i64 0}
!497 = !{!"0x5572421dd850.w8.b8", !488, i64 0}
!498 = !{!499, !499, i64 0}
!499 = !{!"0x5572421dd850.w8.b16", !500, i64 0}
!500 = !{!"0x5572421dd850.w16.b16", !489, i64 0}
!501 = !{!502, !502, i64 0}
!502 = !{!"0x5572421dd850.w8.b24", !500, i64 0}
!503 = !{!504, !504, i64 0}
!504 = !{!"0x55724220a860.w8.b8", !505, i64 0}
!505 = !{!"0x55724220a860.w16.b0", !506, i64 0}
!506 = !{!"0x55724220a860.w32.b0", !507, i64 0}
!507 = !{!"0x55724220a860.w64.b0", !508, i64 0}
!508 = !{!"0x55724220a860.w128.b0", !509, i64 0}
!509 = !{!"0x55724220a860.w256.b0", !510, i64 0}
!510 = !{!"0x55724220a860.w512.b0", !511, i64 0}
!511 = !{!"0x55724220a860.w1024.b0", !512, i64 0}
!512 = !{!"0x55724220a860", !22, i64 0}
!513 = !{!514, !514, i64 0}
!514 = !{!"0x55724220a860.w8.b16", !515, i64 0}
!515 = !{!"0x55724220a860.w16.b16", !506, i64 0}
!516 = !{!517, !517, i64 0}
!517 = !{!"0x55724220a860.w8.b24", !515, i64 0}
!518 = !{!519, !519, i64 0}
!519 = !{!"0x557242153e80.w8.b0", !520, i64 0}
!520 = !{!"0x557242153e80.w16.b0", !521, i64 0}
!521 = !{!"0x557242153e80.w32.b0", !522, i64 0}
!522 = !{!"0x557242153e80.w64.b0", !523, i64 0}
!523 = !{!"0x557242153e80.w128.b0", !524, i64 0}
!524 = !{!"0x557242153e80.w256.b0", !525, i64 0}
!525 = !{!"0x557242153e80.w512.b0", !526, i64 0}
!526 = !{!"0x557242153e80.w1024.b0", !527, i64 0}
!527 = !{!"0x557242153e80", !22, i64 0}
!528 = !{!529, !529, i64 0}
!529 = !{!"0x557242153e80.w8.b8", !520, i64 0}
!530 = !{!531, !531, i64 0}
!531 = !{!"0x557242153e80.w8.b16", !532, i64 0}
!532 = !{!"0x557242153e80.w16.b16", !521, i64 0}
!533 = !{!534, !534, i64 0}
!534 = !{!"0x557242153e80.w8.b24", !532, i64 0}
!535 = !{!536, !536, i64 0}
!536 = !{!"0x557242231310.w8.b8", !537, i64 0}
!537 = !{!"0x557242231310.w16.b0", !538, i64 0}
!538 = !{!"0x557242231310.w32.b0", !539, i64 0}
!539 = !{!"0x557242231310.w64.b0", !540, i64 0}
!540 = !{!"0x557242231310.w128.b0", !541, i64 0}
!541 = !{!"0x557242231310.w256.b0", !542, i64 0}
!542 = !{!"0x557242231310.w512.b0", !543, i64 0}
!543 = !{!"0x557242231310.w1024.b0", !544, i64 0}
!544 = !{!"0x557242231310", !22, i64 0}
!545 = !{!546, !546, i64 0}
!546 = !{!"0x5572421a9710.w8.b0", !547, i64 0}
!547 = !{!"0x5572421a9710.w16.b0", !548, i64 0}
!548 = !{!"0x5572421a9710.w32.b0", !549, i64 0}
!549 = !{!"0x5572421a9710.w64.b0", !550, i64 0}
!550 = !{!"0x5572421a9710.w128.b0", !551, i64 0}
!551 = !{!"0x5572421a9710.w256.b0", !552, i64 0}
!552 = !{!"0x5572421a9710.w512.b0", !553, i64 0}
!553 = !{!"0x5572421a9710.w1024.b0", !554, i64 0}
!554 = !{!"0x5572421a9710", !22, i64 0}
!555 = !{!556, !556, i64 0}
!556 = !{!"0x5572421a9710.w8.b8", !547, i64 0}
!557 = !{!558, !558, i64 0}
!558 = !{!"0x5572421a9710.w8.b16", !559, i64 0}
!559 = !{!"0x5572421a9710.w16.b16", !548, i64 0}
!560 = !{!561, !561, i64 0}
!561 = !{!"0x5572421a9710.w8.b24", !559, i64 0}
!562 = !{!563, !563, i64 0}
!563 = !{!"0x55724218b900.w8.b8", !564, i64 0}
!564 = !{!"0x55724218b900.w16.b0", !565, i64 0}
!565 = !{!"0x55724218b900.w32.b0", !566, i64 0}
!566 = !{!"0x55724218b900.w64.b0", !567, i64 0}
!567 = !{!"0x55724218b900.w128.b0", !568, i64 0}
!568 = !{!"0x55724218b900.w256.b0", !569, i64 0}
!569 = !{!"0x55724218b900.w512.b0", !570, i64 0}
!570 = !{!"0x55724218b900.w1024.b0", !571, i64 0}
!571 = !{!"0x55724218b900", !22, i64 0}
!572 = !{!573, !573, i64 0}
!573 = !{!"0x5572422c9710.w8.b0", !574, i64 0}
!574 = !{!"0x5572422c9710.w16.b0", !575, i64 0}
!575 = !{!"0x5572422c9710.w32.b0", !576, i64 0}
!576 = !{!"0x5572422c9710.w64.b0", !577, i64 0}
!577 = !{!"0x5572422c9710.w128.b0", !578, i64 0}
!578 = !{!"0x5572422c9710.w256.b0", !579, i64 0}
!579 = !{!"0x5572422c9710.w512.b0", !580, i64 0}
!580 = !{!"0x5572422c9710.w1024.b0", !581, i64 0}
!581 = !{!"0x5572422c9710", !22, i64 0}
!582 = !{!583, !583, i64 0}
!583 = !{!"0x5572422c9710.w8.b8", !574, i64 0}
!584 = !{!585, !585, i64 0}
!585 = !{!"0x5572422c9710.w8.b16", !586, i64 0}
!586 = !{!"0x5572422c9710.w16.b16", !575, i64 0}
!587 = !{!588, !588, i64 0}
!588 = !{!"0x5572422c9710.w8.b24", !586, i64 0}
!589 = !{!590, !590, i64 0}
!590 = !{!"0x5572421216c0.w8.b8", !591, i64 0}
!591 = !{!"0x5572421216c0.w16.b0", !592, i64 0}
!592 = !{!"0x5572421216c0.w32.b0", !593, i64 0}
!593 = !{!"0x5572421216c0.w64.b0", !594, i64 0}
!594 = !{!"0x5572421216c0.w128.b0", !595, i64 0}
!595 = !{!"0x5572421216c0.w256.b0", !596, i64 0}
!596 = !{!"0x5572421216c0.w512.b0", !597, i64 0}
!597 = !{!"0x5572421216c0.w1024.b0", !598, i64 0}
!598 = !{!"0x5572421216c0", !22, i64 0}
!599 = !{!600, !600, i64 0}
!600 = !{!"0x5572421216c0.w8.b16", !601, i64 0}
!601 = !{!"0x5572421216c0.w16.b16", !592, i64 0}
!602 = !{!603, !603, i64 0}
!603 = !{!"0x5572421216c0.w8.b24", !601, i64 0}
!604 = !{!605, !605, i64 0}
!605 = !{!"0x55724234cb60.w8.b0", !606, i64 0}
!606 = !{!"0x55724234cb60.w16.b0", !607, i64 0}
!607 = !{!"0x55724234cb60.w32.b0", !608, i64 0}
!608 = !{!"0x55724234cb60.w64.b0", !609, i64 0}
!609 = !{!"0x55724234cb60.w128.b0", !610, i64 0}
!610 = !{!"0x55724234cb60.w256.b0", !611, i64 0}
!611 = !{!"0x55724234cb60.w512.b0", !612, i64 0}
!612 = !{!"0x55724234cb60.w1024.b0", !613, i64 0}
!613 = !{!"0x55724234cb60", !22, i64 0}
!614 = !{!615, !615, i64 0}
!615 = !{!"0x55724234cb60.w8.b8", !606, i64 0}
!616 = !{!617, !617, i64 0}
!617 = !{!"0x55724234cb60.w8.b16", !618, i64 0}
!618 = !{!"0x55724234cb60.w16.b16", !607, i64 0}
!619 = !{!620, !620, i64 0}
!620 = !{!"0x55724234cb60.w8.b24", !618, i64 0}
!621 = !{!622, !622, i64 0}
!622 = !{!"0x55724234de70.w8.b8", !623, i64 0}
!623 = !{!"0x55724234de70.w16.b0", !624, i64 0}
!624 = !{!"0x55724234de70.w32.b0", !625, i64 0}
!625 = !{!"0x55724234de70.w64.b0", !626, i64 0}
!626 = !{!"0x55724234de70.w128.b0", !627, i64 0}
!627 = !{!"0x55724234de70.w256.b0", !628, i64 0}
!628 = !{!"0x55724234de70.w512.b0", !629, i64 0}
!629 = !{!"0x55724234de70.w1024.b0", !630, i64 0}
!630 = !{!"0x55724234de70", !22, i64 0}
!631 = !{!632, !632, i64 0}
!632 = !{!"0x55724234fa40.w8.b0", !633, i64 0}
!633 = !{!"0x55724234fa40.w16.b0", !634, i64 0}
!634 = !{!"0x55724234fa40.w32.b0", !635, i64 0}
!635 = !{!"0x55724234fa40.w64.b0", !636, i64 0}
!636 = !{!"0x55724234fa40.w128.b0", !637, i64 0}
!637 = !{!"0x55724234fa40.w256.b0", !638, i64 0}
!638 = !{!"0x55724234fa40.w512.b0", !639, i64 0}
!639 = !{!"0x55724234fa40.w1024.b0", !640, i64 0}
!640 = !{!"0x55724234fa40", !22, i64 0}
!641 = !{!642, !642, i64 0}
!642 = !{!"0x55724234fa40.w8.b8", !633, i64 0}
!643 = !{!644, !644, i64 0}
!644 = !{!"0x55724234fa40.w8.b16", !645, i64 0}
!645 = !{!"0x55724234fa40.w16.b16", !634, i64 0}
!646 = !{!647, !647, i64 0}
!647 = !{!"0x55724234fa40.w8.b24", !645, i64 0}
!648 = !{!649, !649, i64 0}
!649 = !{!"0x557242350d50.w8.b8", !650, i64 0}
!650 = !{!"0x557242350d50.w16.b0", !651, i64 0}
!651 = !{!"0x557242350d50.w32.b0", !652, i64 0}
!652 = !{!"0x557242350d50.w64.b0", !653, i64 0}
!653 = !{!"0x557242350d50.w128.b0", !654, i64 0}
!654 = !{!"0x557242350d50.w256.b0", !655, i64 0}
!655 = !{!"0x557242350d50.w512.b0", !656, i64 0}
!656 = !{!"0x557242350d50.w1024.b0", !657, i64 0}
!657 = !{!"0x557242350d50", !22, i64 0}
!658 = !{!659, !659, i64 0}
!659 = !{!"0x5572423529b0.w8.b0", !660, i64 0}
!660 = !{!"0x5572423529b0.w16.b0", !661, i64 0}
!661 = !{!"0x5572423529b0.w32.b0", !662, i64 0}
!662 = !{!"0x5572423529b0.w64.b0", !663, i64 0}
!663 = !{!"0x5572423529b0.w128.b0", !664, i64 0}
!664 = !{!"0x5572423529b0.w256.b0", !665, i64 0}
!665 = !{!"0x5572423529b0.w512.b0", !666, i64 0}
!666 = !{!"0x5572423529b0.w1024.b0", !667, i64 0}
!667 = !{!"0x5572423529b0", !22, i64 0}
!668 = !{!669, !669, i64 0}
!669 = !{!"0x5572423529b0.w8.b8", !660, i64 0}
!670 = !{!671, !671, i64 0}
!671 = !{!"0x5572423529b0.w8.b16", !672, i64 0}
!672 = !{!"0x5572423529b0.w16.b16", !661, i64 0}
!673 = !{!674, !674, i64 0}
!674 = !{!"0x5572423529b0.w8.b24", !672, i64 0}
!675 = !{!676, !676, i64 0}
!676 = !{!"0x557242353cc0.w8.b8", !677, i64 0}
!677 = !{!"0x557242353cc0.w16.b0", !678, i64 0}
!678 = !{!"0x557242353cc0.w32.b0", !679, i64 0}
!679 = !{!"0x557242353cc0.w64.b0", !680, i64 0}
!680 = !{!"0x557242353cc0.w128.b0", !681, i64 0}
!681 = !{!"0x557242353cc0.w256.b0", !682, i64 0}
!682 = !{!"0x557242353cc0.w512.b0", !683, i64 0}
!683 = !{!"0x557242353cc0.w1024.b0", !684, i64 0}
!684 = !{!"0x557242353cc0", !22, i64 0}
!685 = !{!686, !686, i64 0}
!686 = !{!"0x557242353cc0.w8.b16", !687, i64 0}
!687 = !{!"0x557242353cc0.w16.b16", !678, i64 0}
!688 = !{!689, !689, i64 0}
!689 = !{!"0x557242353cc0.w8.b24", !687, i64 0}
!690 = !{!691, !691, i64 0}
!691 = !{!"0x557242355c60.w8.b0", !692, i64 0}
!692 = !{!"0x557242355c60.w16.b0", !693, i64 0}
!693 = !{!"0x557242355c60.w32.b0", !694, i64 0}
!694 = !{!"0x557242355c60.w64.b0", !695, i64 0}
!695 = !{!"0x557242355c60.w128.b0", !696, i64 0}
!696 = !{!"0x557242355c60.w256.b0", !697, i64 0}
!697 = !{!"0x557242355c60.w512.b0", !698, i64 0}
!698 = !{!"0x557242355c60.w1024.b0", !699, i64 0}
!699 = !{!"0x557242355c60", !22, i64 0}
!700 = !{!701, !701, i64 0}
!701 = !{!"0x557242355c60.w8.b8", !692, i64 0}
!702 = !{!703, !703, i64 0}
!703 = !{!"0x557242355c60.w8.b16", !704, i64 0}
!704 = !{!"0x557242355c60.w16.b16", !693, i64 0}
!705 = !{!706, !706, i64 0}
!706 = !{!"0x557242355c60.w8.b24", !704, i64 0}
!707 = !{!708, !708, i64 0}
!708 = !{!"0x557242356f70.w8.b8", !709, i64 0}
!709 = !{!"0x557242356f70.w16.b0", !710, i64 0}
!710 = !{!"0x557242356f70.w32.b0", !711, i64 0}
!711 = !{!"0x557242356f70.w64.b0", !712, i64 0}
!712 = !{!"0x557242356f70.w128.b0", !713, i64 0}
!713 = !{!"0x557242356f70.w256.b0", !714, i64 0}
!714 = !{!"0x557242356f70.w512.b0", !715, i64 0}
!715 = !{!"0x557242356f70.w1024.b0", !716, i64 0}
!716 = !{!"0x557242356f70", !22, i64 0}
!717 = !{!718, !718, i64 0}
!718 = !{!"0x557242356880.w8.b0", !719, i64 0}
!719 = !{!"0x557242356880.w16.b0", !720, i64 0}
!720 = !{!"0x557242356880.w32.b0", !721, i64 0}
!721 = !{!"0x557242356880.w64.b0", !722, i64 0}
!722 = !{!"0x557242356880.w128.b0", !723, i64 0}
!723 = !{!"0x557242356880.w256.b0", !724, i64 0}
!724 = !{!"0x557242356880.w512.b0", !725, i64 0}
!725 = !{!"0x557242356880.w1024.b0", !726, i64 0}
!726 = !{!"0x557242356880", !22, i64 0}
!727 = !{!728, !728, i64 0}
!728 = !{!"0x557242356880.w8.b8", !719, i64 0}
!729 = !{!730, !730, i64 0}
!730 = !{!"0x557242356880.w8.b16", !731, i64 0}
!731 = !{!"0x557242356880.w16.b16", !720, i64 0}
!732 = !{!733, !733, i64 0}
!733 = !{!"0x557242356880.w8.b24", !731, i64 0}
!734 = !{!735, !735, i64 0}
!735 = !{!"0x55724235a010.w8.b8", !736, i64 0}
!736 = !{!"0x55724235a010.w16.b0", !737, i64 0}
!737 = !{!"0x55724235a010.w32.b0", !738, i64 0}
!738 = !{!"0x55724235a010.w64.b0", !739, i64 0}
!739 = !{!"0x55724235a010.w128.b0", !740, i64 0}
!740 = !{!"0x55724235a010.w256.b0", !741, i64 0}
!741 = !{!"0x55724235a010.w512.b0", !742, i64 0}
!742 = !{!"0x55724235a010.w1024.b0", !743, i64 0}
!743 = !{!"0x55724235a010", !22, i64 0}
!744 = !{!745, !745, i64 0}
!745 = !{!"0x55724235bc70.w8.b0", !746, i64 0}
!746 = !{!"0x55724235bc70.w16.b0", !747, i64 0}
!747 = !{!"0x55724235bc70.w32.b0", !748, i64 0}
!748 = !{!"0x55724235bc70.w64.b0", !749, i64 0}
!749 = !{!"0x55724235bc70.w128.b0", !750, i64 0}
!750 = !{!"0x55724235bc70.w256.b0", !751, i64 0}
!751 = !{!"0x55724235bc70.w512.b0", !752, i64 0}
!752 = !{!"0x55724235bc70.w1024.b0", !753, i64 0}
!753 = !{!"0x55724235bc70", !22, i64 0}
!754 = !{!755, !755, i64 0}
!755 = !{!"0x55724235bc70.w8.b8", !746, i64 0}
!756 = !{!757, !757, i64 0}
!757 = !{!"0x55724235bc70.w8.b16", !758, i64 0}
!758 = !{!"0x55724235bc70.w16.b16", !747, i64 0}
!759 = !{!760, !760, i64 0}
!760 = !{!"0x55724235bc70.w8.b24", !758, i64 0}
!761 = !{!762, !762, i64 0}
!762 = !{!"0x55724235cf80.w8.b8", !763, i64 0}
!763 = !{!"0x55724235cf80.w16.b0", !764, i64 0}
!764 = !{!"0x55724235cf80.w32.b0", !765, i64 0}
!765 = !{!"0x55724235cf80.w64.b0", !766, i64 0}
!766 = !{!"0x55724235cf80.w128.b0", !767, i64 0}
!767 = !{!"0x55724235cf80.w256.b0", !768, i64 0}
!768 = !{!"0x55724235cf80.w512.b0", !769, i64 0}
!769 = !{!"0x55724235cf80.w1024.b0", !770, i64 0}
!770 = !{!"0x55724235cf80", !22, i64 0}
!771 = !{!772, !772, i64 0}
!772 = !{!"0x55724235cf80.w8.b16", !773, i64 0}
!773 = !{!"0x55724235cf80.w16.b16", !764, i64 0}
!774 = !{!775, !775, i64 0}
!775 = !{!"0x55724235cf80.w8.b24", !773, i64 0}
!776 = !{!777, !777, i64 0}
!777 = !{!"0x55724235ef20.w8.b0", !778, i64 0}
!778 = !{!"0x55724235ef20.w16.b0", !779, i64 0}
!779 = !{!"0x55724235ef20.w32.b0", !780, i64 0}
!780 = !{!"0x55724235ef20.w64.b0", !781, i64 0}
!781 = !{!"0x55724235ef20.w128.b0", !782, i64 0}
!782 = !{!"0x55724235ef20.w256.b0", !783, i64 0}
!783 = !{!"0x55724235ef20.w512.b0", !784, i64 0}
!784 = !{!"0x55724235ef20.w1024.b0", !785, i64 0}
!785 = !{!"0x55724235ef20", !22, i64 0}
!786 = !{!787, !787, i64 0}
!787 = !{!"0x55724235ef20.w8.b8", !778, i64 0}
!788 = !{!789, !789, i64 0}
!789 = !{!"0x55724235ef20.w8.b16", !790, i64 0}
!790 = !{!"0x55724235ef20.w16.b16", !779, i64 0}
!791 = !{!792, !792, i64 0}
!792 = !{!"0x55724235ef20.w8.b24", !790, i64 0}
!793 = !{!794, !794, i64 0}
!794 = !{!"0x557242360170.w8.b8", !795, i64 0}
!795 = !{!"0x557242360170.w16.b0", !796, i64 0}
!796 = !{!"0x557242360170.w32.b0", !797, i64 0}
!797 = !{!"0x557242360170.w64.b0", !798, i64 0}
!798 = !{!"0x557242360170.w128.b0", !799, i64 0}
!799 = !{!"0x557242360170.w256.b0", !800, i64 0}
!800 = !{!"0x557242360170.w512.b0", !801, i64 0}
!801 = !{!"0x557242360170.w1024.b0", !802, i64 0}
!802 = !{!"0x557242360170", !22, i64 0}
!803 = !{!804, !804, i64 0}
!804 = !{!"0x557242362830.w8.b0", !805, i64 0}
!805 = !{!"0x557242362830.w16.b0", !806, i64 0}
!806 = !{!"0x557242362830.w32.b0", !807, i64 0}
!807 = !{!"0x557242362830.w64.b0", !808, i64 0}
!808 = !{!"0x557242362830.w128.b0", !809, i64 0}
!809 = !{!"0x557242362830.w256.b0", !810, i64 0}
!810 = !{!"0x557242362830.w512.b0", !811, i64 0}
!811 = !{!"0x557242362830.w1024.b0", !812, i64 0}
!812 = !{!"0x557242362830", !22, i64 0}
!813 = !{!814, !814, i64 0}
!814 = !{!"0x557242362830.w8.b8", !805, i64 0}
!815 = !{!816, !816, i64 0}
!816 = !{!"0x557242362830.w8.b16", !817, i64 0}
!817 = !{!"0x557242362830.w16.b16", !806, i64 0}
!818 = !{!819, !819, i64 0}
!819 = !{!"0x557242362830.w8.b24", !817, i64 0}
!820 = !{!821, !821, i64 0}
!821 = !{!"0x557242363b40.w8.b8", !822, i64 0}
!822 = !{!"0x557242363b40.w16.b0", !823, i64 0}
!823 = !{!"0x557242363b40.w32.b0", !824, i64 0}
!824 = !{!"0x557242363b40.w64.b0", !825, i64 0}
!825 = !{!"0x557242363b40.w128.b0", !826, i64 0}
!826 = !{!"0x557242363b40.w256.b0", !827, i64 0}
!827 = !{!"0x557242363b40.w512.b0", !828, i64 0}
!828 = !{!"0x557242363b40.w1024.b0", !829, i64 0}
!829 = !{!"0x557242363b40", !22, i64 0}
!830 = !{!831, !831, i64 0}
!831 = !{!"0x5572423657a0.w8.b0", !832, i64 0}
!832 = !{!"0x5572423657a0.w16.b0", !833, i64 0}
!833 = !{!"0x5572423657a0.w32.b0", !834, i64 0}
!834 = !{!"0x5572423657a0.w64.b0", !835, i64 0}
!835 = !{!"0x5572423657a0.w128.b0", !836, i64 0}
!836 = !{!"0x5572423657a0.w256.b0", !837, i64 0}
!837 = !{!"0x5572423657a0.w512.b0", !838, i64 0}
!838 = !{!"0x5572423657a0.w1024.b0", !839, i64 0}
!839 = !{!"0x5572423657a0", !22, i64 0}
!840 = !{!841, !841, i64 0}
!841 = !{!"0x5572423657a0.w8.b8", !832, i64 0}
!842 = !{!843, !843, i64 0}
!843 = !{!"0x5572423657a0.w8.b16", !844, i64 0}
!844 = !{!"0x5572423657a0.w16.b16", !833, i64 0}
!845 = !{!846, !846, i64 0}
!846 = !{!"0x5572423657a0.w8.b24", !844, i64 0}
!847 = !{!848, !848, i64 0}
!848 = !{!"0x557242366ab0.w8.b8", !849, i64 0}
!849 = !{!"0x557242366ab0.w16.b0", !850, i64 0}
!850 = !{!"0x557242366ab0.w32.b0", !851, i64 0}
!851 = !{!"0x557242366ab0.w64.b0", !852, i64 0}
!852 = !{!"0x557242366ab0.w128.b0", !853, i64 0}
!853 = !{!"0x557242366ab0.w256.b0", !854, i64 0}
!854 = !{!"0x557242366ab0.w512.b0", !855, i64 0}
!855 = !{!"0x557242366ab0.w1024.b0", !856, i64 0}
!856 = !{!"0x557242366ab0", !22, i64 0}
!857 = !{!858, !858, i64 0}
!858 = !{!"0x557242366ab0.w8.b16", !859, i64 0}
!859 = !{!"0x557242366ab0.w16.b16", !850, i64 0}
!860 = !{!861, !861, i64 0}
!861 = !{!"0x557242366ab0.w8.b24", !859, i64 0}
!862 = !{!863, !863, i64 0}
!863 = !{!"0x5572423689e0.w8.b0", !864, i64 0}
!864 = !{!"0x5572423689e0.w16.b0", !865, i64 0}
!865 = !{!"0x5572423689e0.w32.b0", !866, i64 0}
!866 = !{!"0x5572423689e0.w64.b0", !867, i64 0}
!867 = !{!"0x5572423689e0.w128.b0", !868, i64 0}
!868 = !{!"0x5572423689e0.w256.b0", !869, i64 0}
!869 = !{!"0x5572423689e0.w512.b0", !870, i64 0}
!870 = !{!"0x5572423689e0.w1024.b0", !871, i64 0}
!871 = !{!"0x5572423689e0", !22, i64 0}
!872 = !{!873, !873, i64 0}
!873 = !{!"0x5572423689e0.w8.b8", !864, i64 0}
!874 = !{!875, !875, i64 0}
!875 = !{!"0x5572423689e0.w8.b16", !876, i64 0}
!876 = !{!"0x5572423689e0.w16.b16", !865, i64 0}
!877 = !{!878, !878, i64 0}
!878 = !{!"0x5572423689e0.w8.b24", !876, i64 0}
!879 = !{!880, !880, i64 0}
!880 = !{!"0x557242369560.w8.b8", !881, i64 0}
!881 = !{!"0x557242369560.w16.b0", !882, i64 0}
!882 = !{!"0x557242369560.w32.b0", !883, i64 0}
!883 = !{!"0x557242369560.w64.b0", !884, i64 0}
!884 = !{!"0x557242369560.w128.b0", !885, i64 0}
!885 = !{!"0x557242369560.w256.b0", !886, i64 0}
!886 = !{!"0x557242369560.w512.b0", !887, i64 0}
!887 = !{!"0x557242369560.w1024.b0", !888, i64 0}
!888 = !{!"0x557242369560", !22, i64 0}
!889 = !{!890, !890, i64 0}
!890 = !{!"0x557242369560.w8.b16", !891, i64 0}
!891 = !{!"0x557242369560.w16.b16", !882, i64 0}
!892 = !{!893, !893, i64 0}
!893 = !{!"0x557242369560.w8.b24", !891, i64 0}
!894 = !{!895, !895, i64 0}
!895 = !{!"0x55724221ec00.w16.b0", !896, i64 0}
!896 = !{!"0x55724221ec00.w32.b0", !897, i64 0}
!897 = !{!"0x55724221ec00.w64.b0", !898, i64 0}
!898 = !{!"0x55724221ec00.w128.b0", !899, i64 0}
!899 = !{!"0x55724221ec00.w256.b0", !900, i64 0}
!900 = !{!"0x55724221ec00.w512.b0", !901, i64 0}
!901 = !{!"0x55724221ec00.w1024.b0", !902, i64 0}
!902 = !{!"0x55724221ec00", !22, i64 0}
!903 = !{!904, !904, i64 0}
!904 = !{!"0x55724221ec00.w16.b16", !896, i64 0}
!905 = !{!906, !906, i64 0}
!906 = !{!"0x55724221ec00.w16.b32", !907, i64 0}
!907 = !{!"0x55724221ec00.w32.b32", !897, i64 0}
!908 = !{!909, !909, i64 0}
!909 = !{!"0x55724221ec00.w16.b48", !907, i64 0}
!910 = !{!911, !911, i64 0}
!911 = !{!"0x55724221ec00.w16.b64", !912, i64 0}
!912 = !{!"0x55724221ec00.w32.b64", !913, i64 0}
!913 = !{!"0x55724221ec00.w64.b64", !898, i64 0}
!914 = !{!915, !915, i64 0}
!915 = !{!"0x55724221ec00.w16.b80", !912, i64 0}
!916 = !{!917, !917, i64 0}
!917 = !{!"0x55724221ec00.w4.b96", !918, i64 0}
!918 = !{!"0x55724221ec00.w8.b96", !919, i64 0}
!919 = !{!"0x55724221ec00.w16.b96", !920, i64 0}
!920 = !{!"0x55724221ec00.w32.b96", !913, i64 0}
!921 = !{!922, !922, i64 0}
!922 = !{!"0x55724221ec00.w4.b100", !918, i64 0}
!923 = !{!924, !924, i64 0}
!924 = !{!"0x55724221ec00.w4.b104", !925, i64 0}
!925 = !{!"0x55724221ec00.w8.b104", !919, i64 0}
