┌ Warning: Using fallback BLAS replacements, performance may be degraded └ @ Enzyme.Compiler ~/.julia/packages/GPUCompiler/U36Ed/src/utils.jl:59 ERROR: Enzyme execution failed. Enzyme cannot deduce type Current scope: ; Function Attrs: mustprogress willreturn define internal fastcc void @preprocess_julia__gru_output_2436([2 x {} addrspace(10)*]* noalias nocapture noundef nonnull writeonly sret([2 x {} addrspace(10)*]) align 8 dereferenceable(16) %0, [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(144) %1, [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(144) %2, [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(120) %3) unnamed_addr #216 !dbg !12319 { top: %4 = call {}*** @julia.get_pgcstack() %5 = call {}*** @julia.get_pgcstack() %6 = call {}*** @julia.get_pgcstack() %7 = call {}*** @julia.get_pgcstack() %8 = call {}*** @julia.get_pgcstack() %9 = call {}*** @julia.get_pgcstack() %10 = call {}*** @julia.get_pgcstack() %11 = call {}*** @julia.get_pgcstack() %12 = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) i8* @malloc(i64 16), !enzyme_fromstack !1028 %newstruct201 = bitcast i8* %12 to [2 x [1 x i64]]*, !enzyme_caststack !218 %13 = bitcast {}*** %7 to {}** %14 = getelementptr inbounds {}*, {}** %13, i64 -14 %15 = getelementptr inbounds {}*, {}** %14, i64 16 %16 = bitcast {}** %15 to i8** %17 = load i8*, i8** %16, align 8 %18 = call noalias nonnull dereferenceable(48) dereferenceable_or_null(48) {} addrspace(10)* @julia.gc_alloc_obj({}** %14, i64 48, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038479368720 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !1028 call void @zeroType.126({} addrspace(10)* %18, i8 0, i64 48), !enzyme_zerostack !218 %19 = bitcast {} addrspace(10)* %18 to { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)*, !enzyme_caststack !218 %20 = bitcast {}*** %8 to {}** %21 = getelementptr inbounds {}*, {}** %20, i64 -14 %22 = getelementptr inbounds {}*, {}** %21, i64 16 %23 = bitcast {}** %22 to i8** %24 = load i8*, i8** %23, align 8 %25 = call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) {} addrspace(10)* @julia.gc_alloc_obj({}** %21, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038516473040 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !1028 call void @zeroType.125({} addrspace(10)* %25, i8 0, i64 8), !enzyme_zerostack !218 %26 = bitcast {} addrspace(10)* %25 to [1 x {} addrspace(10)*] addrspace(10)*, !enzyme_caststack !218 %27 = bitcast {}*** %6 to {}** %28 = getelementptr inbounds {}*, {}** %27, i64 -14 %29 = getelementptr inbounds {}*, {}** %28, i64 16 %30 = bitcast {}** %29 to i8** %31 = load i8*, i8** %30, align 8 %32 = call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) {} addrspace(10)* @julia.gc_alloc_obj({}** %28, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038516473040 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !1028 call void @zeroType.127({} addrspace(10)* %32, i8 0, i64 8), !enzyme_zerostack !218 %33 = bitcast {} addrspace(10)* %32 to [1 x {} addrspace(10)*] addrspace(10)*, !enzyme_caststack !218 %34 = bitcast {}*** %9 to {}** %35 = getelementptr inbounds {}*, {}** %34, i64 -14 %36 = getelementptr inbounds {}*, {}** %35, i64 16 %37 = bitcast {}** %36 to i8** %38 = load i8*, i8** %37, align 8 %39 = call noalias nonnull dereferenceable(48) dereferenceable_or_null(48) {} addrspace(10)* @julia.gc_alloc_obj({}** %35, i64 48, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038479368720 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !1028 call void @zeroType.124({} addrspace(10)* %39, i8 0, i64 48), !enzyme_zerostack !218 %40 = bitcast {} addrspace(10)* %39 to { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)*, !enzyme_caststack !218 %41 = bitcast {}*** %5 to {}** %42 = getelementptr inbounds {}*, {}** %41, i64 -14 %43 = getelementptr inbounds {}*, {}** %42, i64 16 %44 = bitcast {}** %43 to i8** %45 = load i8*, i8** %44, align 8 %46 = call noalias nonnull dereferenceable(48) dereferenceable_or_null(48) {} addrspace(10)* @julia.gc_alloc_obj({}** %42, i64 48, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038479368720 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !1028 call void @zeroType.128({} addrspace(10)* %46, i8 0, i64 48), !enzyme_zerostack !218 %47 = bitcast {} addrspace(10)* %46 to { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)*, !enzyme_caststack !218 %48 = bitcast {}*** %10 to {}** %49 = getelementptr inbounds {}*, {}** %48, i64 -14 %50 = getelementptr inbounds {}*, {}** %49, i64 16 %51 = bitcast {}** %50 to i8** %52 = load i8*, i8** %51, align 8 %53 = call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) {} addrspace(10)* @julia.gc_alloc_obj({}** %49, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038516473040 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !1028 call void @zeroType.123({} addrspace(10)* %53, i8 0, i64 8), !enzyme_zerostack !218 %54 = bitcast {} addrspace(10)* %53 to [1 x {} addrspace(10)*] addrspace(10)*, !enzyme_caststack !218 %55 = bitcast {}*** %4 to {}** %56 = getelementptr inbounds {}*, {}** %55, i64 -14 %57 = getelementptr inbounds {}*, {}** %56, i64 16 %58 = bitcast {}** %57 to i8** %59 = load i8*, i8** %58, align 8 %60 = call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) {} addrspace(10)* @julia.gc_alloc_obj({}** %56, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038516473040 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !1028 call void @zeroType.129({} addrspace(10)* %60, i8 0, i64 8), !enzyme_zerostack !218 %61 = bitcast {} addrspace(10)* %60 to [1 x {} addrspace(10)*] addrspace(10)*, !enzyme_caststack !218 %62 = bitcast {}*** %11 to {}** %63 = getelementptr inbounds {}*, {}** %62, i64 -14 %64 = getelementptr inbounds {}*, {}** %63, i64 16 %65 = bitcast {}** %64 to i8** %66 = load i8*, i8** %65, align 8 %67 = call noalias nonnull dereferenceable(48) dereferenceable_or_null(48) {} addrspace(10)* @julia.gc_alloc_obj({}** %63, i64 48, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038479368720 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !1028 call void @zeroType.122({} addrspace(10)* %67, i8 0, i64 48), !enzyme_zerostack !218 %68 = bitcast {} addrspace(10)* %67 to { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)*, !enzyme_caststack !218 %69 = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) i8* @malloc(i64 16), !enzyme_fromstack !1028 %newstruct366 = bitcast i8* %69 to [2 x [1 x i64]]*, !enzyme_caststack !218 %70 = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) i8* @malloc(i64 16), !enzyme_fromstack !1028 %newstruct29 = bitcast i8* %70 to [2 x [1 x i64]]*, !enzyme_caststack !218 %71 = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) i8* @malloc(i64 16), !enzyme_fromstack !1028 %newstruct397 = bitcast i8* %71 to [2 x [1 x i64]]*, !enzyme_caststack !218 %72 = call {}*** @julia.get_pgcstack() #228 %ptls_field574 = getelementptr inbounds {}**, {}*** %72, i64 2 %73 = bitcast {}*** %ptls_field574 to i64*** %ptls_load575576 = load i64**, i64*** %73, align 8, !tbaa !219 %74 = getelementptr inbounds i64*, i64** %ptls_load575576, i64 2 %safepoint = load i64*, i64** %74, align 8, !tbaa !223, !invariant.load !218 fence syncscope("singlethread") seq_cst call void @julia.safepoint(i64* %safepoint) #228, !dbg !12320 fence syncscope("singlethread") seq_cst %75 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 0, !dbg !12321 %76 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 0, !dbg !12321 %77 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 0, !dbg !12321 %78 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 0, i32 1, i32 0, i64 0, !dbg !12323 %79 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 0, i32 1, i32 0, i64 1, !dbg !12335 %unbox = load i64, i64 addrspace(11)* %79, align 8, !dbg !12337, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234 %unbox2 = load i64, i64 addrspace(11)* %78, align 8, !dbg !12337, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234 %80 = add i64 %unbox, 1, !dbg !12337 %81 = sub i64 %80, %unbox2, !dbg !12339 %82 = call i64 @llvm.smax.i64(i64 %81, i64 0) #228, !dbg !12340 %83 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 0, i32 1, i32 0, i64 0, !dbg !12345 %84 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 0, i32 1, i32 0, i64 1, !dbg !12352 %unbox3 = load i64, i64 addrspace(11)* %84, align 8, !dbg !12354, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234 %unbox4 = load i64, i64 addrspace(11)* %83, align 8, !dbg !12354, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234 %85 = add i64 %unbox3, 1, !dbg !12354 %86 = sub i64 %85, %unbox4, !dbg !12356 %87 = call i64 @llvm.smax.i64(i64 %86, i64 noundef 0) #228, !dbg !12357 %88 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 0, i32 1, i64 0, i64 0, !dbg !12345 %89 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 0, i32 1, i64 0, i64 1, !dbg !12352 %unbox7 = load i64, i64 addrspace(11)* %89, align 8, !dbg !12354, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234 %unbox8 = load i64, i64 addrspace(11)* %88, align 8, !dbg !12354, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234 %90 = sub i64 %unbox7, %unbox8, !dbg !12354 %91 = add i64 %90, 1, !dbg !12356 %92 = call i64 @llvm.smax.i64(i64 %91, i64 noundef 0) #228, !dbg !12357 %93 = icmp eq i64 %92, %87, !dbg !12362 %94 = icmp eq i64 %87, 1, !dbg !12364 %value_phi.in = or i1 %94, %93, !dbg !12364 br i1 %value_phi.in, label %L55, label %L43, !dbg !12365 L43: ; preds = %top %95 = icmp eq i64 %92, 1, !dbg !12364 br i1 %95, label %L55, label %L51, !dbg !12365 L51: ; preds = %L43 %96 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %87) #229, !dbg !12365 %97 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %92) #229, !dbg !12365 %98 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* noundef nonnull @ijl_invoke, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 140043927306144 to {}*) to {} addrspace(10)*), {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 140043904669504 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020768 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %96, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020736 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %97) #230, !dbg !12365 %current_task418827 = getelementptr inbounds {}**, {}*** %72, i64 -14, !dbg !12365 %current_task418 = bitcast {}*** %current_task418827 to {}**, !dbg !12365 %box419 = call noalias nonnull dereferenceable(8) "enzyme_inactive" {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task418, i64 noundef 8, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 140043906479456 to {}*) to {} addrspace(10)*)) #231, !dbg !12365 %99 = bitcast {} addrspace(10)* %box419 to [1 x {} addrspace(10)*] addrspace(10)*, !dbg !12365 %100 = getelementptr [1 x {} addrspace(10)*], [1 x {} addrspace(10)*] addrspace(10)* %99, i64 0, i64 0, !dbg !12365 store {} addrspace(10)* %98, {} addrspace(10)* addrspace(10)* %100, align 8, !dbg !12365, !tbaa !263, !alias.scope !267, !noalias !12368 %101 = addrspacecast {} addrspace(10)* %box419 to {} addrspace(12)*, !dbg !12365 call void @ijl_throw({} addrspace(12)* %101) #232, !dbg !12365 unreachable, !dbg !12365 L55: ; preds = %L43, %top %.sroa.0886.0 = phi i64 [ %92, %top ], [ %87, %L43 ] %102 = icmp eq i64 %.sroa.0886.0, %82, !dbg !12371 %103 = icmp eq i64 %82, 1, !dbg !12373 %value_phi20.in = or i1 %103, %102, !dbg !12373 br i1 %value_phi20.in, label %L88, label %L76, !dbg !12374 L76: ; preds = %L55 %104 = icmp eq i64 %.sroa.0886.0, 1, !dbg !12373 br i1 %104, label %L88, label %L84, !dbg !12374 L84: ; preds = %L76 %105 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %82) #229, !dbg !12374 %106 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %.sroa.0886.0) #229, !dbg !12374 %107 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* nonnull @ijl_invoke, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043927306144 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043904669504 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020768 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %105, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020736 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %106) #230, !dbg !12374 %current_task413826 = getelementptr inbounds {}**, {}*** %72, i64 -14, !dbg !12374 %current_task413 = bitcast {}*** %current_task413826 to {}**, !dbg !12374 %box414 = call noalias nonnull dereferenceable(8) "enzyme_inactive" {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task413, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043906479456 to {}*) to {} addrspace(10)*)) #231, !dbg !12374 %108 = bitcast {} addrspace(10)* %box414 to [1 x {} addrspace(10)*] addrspace(10)*, !dbg !12374 %109 = getelementptr [1 x {} addrspace(10)*], [1 x {} addrspace(10)*] addrspace(10)* %108, i64 0, i64 0, !dbg !12374 store {} addrspace(10)* %107, {} addrspace(10)* addrspace(10)* %109, align 8, !dbg !12374, !tbaa !263, !alias.scope !267, !noalias !12368 %110 = addrspacecast {} addrspace(10)* %box414 to {} addrspace(12)*, !dbg !12374 call void @ijl_throw({} addrspace(12)* %110) #228, !dbg !12374 unreachable, !dbg !12374 L88: ; preds = %L76, %L55 %.sroa.0882.0 = phi i64 [ %.sroa.0886.0, %L55 ], [ %82, %L76 ] %111 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !12377 %112 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !12377 %unbox26 = load i64, i64 addrspace(11)* %111, align 8, !dbg !12383, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234 %unbox27 = load i64, i64 addrspace(11)* %112, align 8, !dbg !12383 %113 = icmp eq i64 %unbox26, %unbox27, !dbg !12383 %114 = icmp eq i64 %unbox27, 1, !dbg !12380 %value_phi28.in = or i1 %113, %114, !dbg !12380 br i1 %value_phi28.in, label %L155.preheader, label %L105, !dbg !12381 L105: ; preds = %L88 %115 = icmp eq i64 %unbox26, 1, !dbg !12380 br i1 %115, label %L155.preheader, label %L116, !dbg !12381 L116: ; preds = %L105 %116 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %unbox27) #229, !dbg !12381 %117 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %unbox26) #229, !dbg !12381 %118 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* nonnull @ijl_invoke, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043927306144 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043904669504 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020768 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %116, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020736 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %117) #230, !dbg !12381 %current_task406825 = getelementptr inbounds {}**, {}*** %72, i64 -14, !dbg !12381 %current_task406 = bitcast {}*** %current_task406825 to {}**, !dbg !12381 %box407 = call noalias nonnull dereferenceable(8) "enzyme_inactive" {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task406, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043906479456 to {}*) to {} addrspace(10)*)) #231, !dbg !12381 %119 = bitcast {} addrspace(10)* %box407 to [1 x {} addrspace(10)*] addrspace(10)*, !dbg !12381 %120 = getelementptr [1 x {} addrspace(10)*], [1 x {} addrspace(10)*] addrspace(10)* %119, i64 0, i64 0, !dbg !12381 store {} addrspace(10)* %118, {} addrspace(10)* addrspace(10)* %120, align 8, !dbg !12381, !tbaa !263, !alias.scope !267, !noalias !12368 %121 = addrspacecast {} addrspace(10)* %box407 to {} addrspace(12)*, !dbg !12381 call void @ijl_throw({} addrspace(12)* %121) #228, !dbg !12381 unreachable, !dbg !12381 L155.preheader: ; preds = %L105, %L88 %.sroa.0878.0 = phi i64 [ %unbox26, %L88 ], [ %unbox27, %L105 ] %memcpy_refined_dst = getelementptr inbounds [2 x [1 x i64]], [2 x [1 x i64]]* %newstruct29, i64 0, i64 0, i64 0, !dbg !12375 store i64 %.sroa.0882.0, i64* %memcpy_refined_dst, align 8, !dbg !12375, !tbaa !796, !alias.scope !798, !noalias !12384 %memcpy_refined_dst31 = getelementptr inbounds [2 x [1 x i64]], [2 x [1 x i64]]* %newstruct29, i64 0, i64 1, i64 0, !dbg !12375 store i64 %.sroa.0878.0, i64* %memcpy_refined_dst31, align 8, !dbg !12375, !tbaa !796, !alias.scope !798, !noalias !12384 %122 = call noalias nonnull {} addrspace(10)* @ijl_alloc_array_2d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044074922384 to {}*) to {} addrspace(10)*), i64 %.sroa.0882.0, i64 %.sroa.0878.0) #229, !dbg !12385 %123 = addrspacecast {} addrspace(10)* %122 to {} addrspace(10)* addrspace(11)*, !dbg !12393 %arraysize_ptr = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %123, i64 3, !dbg !12393 %124 = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr to i64 addrspace(11)*, !dbg !12393 %arraysize = load i64, i64 addrspace(11)* %124, align 8, !dbg !12393, !tbaa !223, !range !230, !invariant.load !218, !alias.scope !231, !noalias !234 %.not577 = icmp eq i64 %arraysize, %.sroa.0882.0, !dbg !12397 br i1 %.not577, label %L192, label %L180.L593_crit_edge, !dbg !12401 L180.L593_crit_edge: ; preds = %L155.preheader %arraysize_ptr391.phi.trans.insert = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %123, i64 4 %.phi.trans.insert = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr391.phi.trans.insert to i64 addrspace(11)* %arraysize392.pre = load i64, i64 addrspace(11)* %.phi.trans.insert, align 8, !dbg !12393, !tbaa !223, !range !230, !invariant.load !218, !alias.scope !231, !noalias !234 br label %L593, !dbg !12401 L192: ; preds = %L155.preheader %arraysize_ptr46 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %123, i64 4, !dbg !12393 %125 = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr46 to i64 addrspace(11)*, !dbg !12393 %arraysize47 = load i64, i64 addrspace(11)* %125, align 8, !dbg !12393, !tbaa !223, !range !230, !invariant.load !218, !alias.scope !231, !noalias !234 %.not823 = icmp eq i64 %arraysize47, %.sroa.0878.0, !dbg !12402 br i1 %.not823, label %L203, label %L593, !dbg !12395 L203: ; preds = %L192 %126 = addrspacecast {} addrspace(10)* %122 to {} addrspace(11)*, !dbg !12406 %127 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %126) #233, !dbg !12406 %128 = bitcast {}* %127 to i8**, !dbg !12406 %arrayptr = load i8*, i8** %128, align 8, !dbg !12406, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234, !nonnull !218 %getfield_addr = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 0, i32 0, !dbg !12418 %getfield51 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %getfield_addr unordered, align 8, !dbg !12418, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234, !nonnull !218, !dereferenceable !345, !align !346 %129 = addrspacecast {} addrspace(10)* %getfield51 to {} addrspace(11)*, !dbg !12420 %130 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %129) #233, !dbg !12420 %131 = bitcast {}* %130 to i8**, !dbg !12420 %arrayptr53 = load i8*, i8** %131, align 8, !dbg !12420, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234, !nonnull !218 %.not578.not = icmp eq i8* %arrayptr, %arrayptr53, !dbg !12423 br i1 %.not578.not, label %L212, label %L217, !dbg !12410 L212: ; preds = %L203 %132 = addrspacecast { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %68 to { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }*, !dbg !12410 %133 = addrspacecast [1 x {} addrspace(10)*] addrspace(10)* %54 to [1 x {} addrspace(10)*]*, !dbg !12410 call fastcc void @julia_unaliascopy_2418({ {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }* noalias nocapture nofree noundef nonnull writeonly sret({ {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }) align 8 dereferenceable(48) %132, [1 x {} addrspace(10)*]* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(8) "enzymejl_returnRoots" %133, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(144) %75) #228, !dbg !12410 %unbox466.elt = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %68, i64 0, i32 0, !dbg !12426 %unbox466.unpack = load {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %unbox466.elt, align 8, !dbg !12426, !tbaa !796, !alias.scope !798, !noalias !2786 %unbox466.unpack794.unpack.elt = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %68, i64 0, i32 1, i32 0, i64 0, !dbg !12426 %unbox466.unpack794.unpack.unpack = load i64, i64 addrspace(10)* %unbox466.unpack794.unpack.elt, align 8, !dbg !12426, !tbaa !796, !alias.scope !798, !noalias !2786 %unbox466.unpack794.unpack.elt803 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %68, i64 0, i32 1, i32 0, i64 1, !dbg !12426 %unbox466.unpack794.unpack.unpack804 = load i64, i64 addrspace(10)* %unbox466.unpack794.unpack.elt803, align 8, !dbg !12426, !tbaa !796, !alias.scope !798, !noalias !2786 %134 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %68, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !12426 %unbox466.unpack794.unpack801.unpack.unpack = load i64, i64 addrspace(10)* %134, align 8, !dbg !12426, !tbaa !796, !alias.scope !798, !noalias !2786 br label %L217, !dbg !12426 L217: ; preds = %L212, %L203 %unbox466.unpack.pn = phi {} addrspace(10)* [ %unbox466.unpack, %L212 ], [ %getfield51, %L203 ] %unbox466.unpack794.unpack.unpack.pn = phi i64 [ %unbox466.unpack794.unpack.unpack, %L212 ], [ %unbox2, %L203 ] %unbox466.unpack794.unpack.unpack804.pn = phi i64 [ %unbox466.unpack794.unpack.unpack804, %L212 ], [ %unbox, %L203 ] %unbox466.unpack794.unpack801.unpack.unpack.pn = phi i64 [ %unbox466.unpack794.unpack801.unpack.unpack, %L212 ], [ %unbox27, %L203 ] %135 = sub i64 1, %unbox466.unpack794.unpack.unpack.pn, !dbg !12436 %136 = add i64 %135, %unbox466.unpack794.unpack.unpack804.pn, !dbg !12443 %137 = call i64 @llvm.smax.i64(i64 %136, i64 0) #228, !dbg !12444 %.not583 = icmp eq i64 %unbox466.unpack794.unpack801.unpack.unpack.pn, 1, !dbg !12449 %.not584 = icmp eq i64 %137, 1, !dbg !12454 %getfield_addr63 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 0, i32 0, !dbg !12457 %getfield64 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %getfield_addr63 unordered, align 8, !dbg !12457, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234, !nonnull !218, !dereferenceable !345, !align !346 %138 = addrspacecast {} addrspace(10)* %getfield64 to {} addrspace(11)*, !dbg !12464 %139 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %138) #233, !dbg !12464 %140 = bitcast {}* %139 to i8**, !dbg !12464 %arrayptr66 = load i8*, i8** %140, align 8, !dbg !12464, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234, !nonnull !218 %.not585.not = icmp eq i8* %arrayptr, %arrayptr66, !dbg !12467 br i1 %.not585.not, label %L244, label %L249, !dbg !12460 L244: ; preds = %L217 %141 = addrspacecast { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %40 to { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }*, !dbg !12460 %142 = addrspacecast [1 x {} addrspace(10)*] addrspace(10)* %26 to [1 x {} addrspace(10)*]*, !dbg !12460 call fastcc void @julia_unaliascopy_2418({ {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }* noalias nocapture nofree noundef nonnull writeonly sret({ {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }) align 8 dereferenceable(48) %141, [1 x {} addrspace(10)*]* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(8) "enzymejl_returnRoots" %142, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(144) %76) #228, !dbg !12460 %unbox480.elt = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %40, i64 0, i32 0, !dbg !12426 %unbox480.unpack = load {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %unbox480.elt, align 8, !dbg !12426, !tbaa !796, !alias.scope !798, !noalias !2786 %unbox480.unpack764.unpack.elt = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %40, i64 0, i32 1, i32 0, i64 0, !dbg !12426 %unbox480.unpack764.unpack.unpack = load i64, i64 addrspace(10)* %unbox480.unpack764.unpack.elt, align 8, !dbg !12426, !tbaa !796, !alias.scope !798, !noalias !2786 %unbox480.unpack764.unpack.elt773 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %40, i64 0, i32 1, i32 0, i64 1, !dbg !12426 %unbox480.unpack764.unpack.unpack774 = load i64, i64 addrspace(10)* %unbox480.unpack764.unpack.elt773, align 8, !dbg !12426, !tbaa !796, !alias.scope !798, !noalias !2786 %143 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %40, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !12426 %unbox480.unpack764.unpack771.unpack.unpack = load i64, i64 addrspace(10)* %143, align 8, !dbg !12426, !tbaa !796, !alias.scope !798, !noalias !2786 br label %L249, !dbg !12426 L249: ; preds = %L244, %L217 %unbox480.unpack.pn = phi {} addrspace(10)* [ %unbox480.unpack, %L244 ], [ %getfield64, %L217 ] %unbox480.unpack764.unpack.unpack.pn = phi i64 [ %unbox480.unpack764.unpack.unpack, %L244 ], [ %unbox4, %L217 ] %unbox480.unpack764.unpack.unpack774.pn = phi i64 [ %unbox480.unpack764.unpack.unpack774, %L244 ], [ %unbox3, %L217 ] %unbox480.unpack764.unpack771.unpack.unpack.pn = phi i64 [ %unbox480.unpack764.unpack771.unpack.unpack, %L244 ], [ %unbox26, %L217 ] %144 = sub i64 1, %unbox480.unpack764.unpack.unpack.pn, !dbg !12470 %145 = add i64 %144, %unbox480.unpack764.unpack.unpack774.pn, !dbg !12477 %146 = call i64 @llvm.smax.i64(i64 %145, i64 0) #228, !dbg !12478 %.not592 = icmp eq i64 %unbox480.unpack764.unpack771.unpack.unpack.pn, 1, !dbg !12483 %.not593 = icmp eq i64 %146, 1, !dbg !12488 %getfield_addr76 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 0, i32 0, !dbg !12491 %getfield77 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %getfield_addr76 unordered, align 8, !dbg !12491, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234, !nonnull !218, !dereferenceable !345, !align !346 %147 = addrspacecast {} addrspace(10)* %getfield77 to {} addrspace(11)*, !dbg !12498 %148 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %147) #233, !dbg !12498 %149 = bitcast {}* %148 to i8**, !dbg !12498 %arrayptr79 = load i8*, i8** %149, align 8, !dbg !12498, !tbaa !1060, !alias.scope !1063, !noalias !1064, !nonnull !218 %.not594.not = icmp eq i8* %arrayptr, %arrayptr79, !dbg !12501 br i1 %.not594.not, label %L276, label %guard_pass492, !dbg !12494 L276: ; preds = %L249 %150 = call noalias nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038977780880 to {}*) to {} addrspace(10)*), i64 %91) #229, !dbg !12504 call fastcc void @julia_copyto__2405({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %150, { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(120) %77) #228, !dbg !12508 %.not595 = icmp ugt i64 %90, 9223372036854775806, !dbg !12509 %value_phi85 = select i1 %.not595, i64 0, i64 %91, !dbg !12511 br label %L311, !dbg !12426 L311: ; preds = %guard_pass492, %L276 %.pn918 = phi {} addrspace(10)* [ %150, %L276 ], [ %getfield77, %guard_pass492 ] %.pn920 = phi [2 x i64] [ [i64 1, i64 undef], %L276 ], [ %359, %guard_pass492 ] %value_phi85.pn = phi i64 [ %value_phi85, %L276 ], [ %unbox7, %guard_pass492 ] %.pn915 = phi i64 [ 0, %L276 ], [ %unbox494.unpack755, %guard_pass492 ] %.elt600 = extractvalue [2 x i64] %.pn920, 0, !dbg !12519 %151 = sub i64 1, %.elt600, !dbg !12523 %152 = add i64 %151, %value_phi85.pn, !dbg !12527 %153 = call i64 @llvm.smax.i64(i64 %152, i64 0) #228, !dbg !12528 %.not603 = icmp eq i64 %153, 1, !dbg !12533 %.not = icmp eq i64 %.sroa.0878.0, 0, !dbg !12537 br i1 %.not, label %L607, label %L347.preheader, !dbg !12541 L347.preheader: ; preds = %L311 %154 = icmp eq i64 %.sroa.0882.0, 0 %155 = addrspacecast {} addrspace(10)* %unbox466.unpack.pn to {} addrspace(10)* addrspace(11)* %arraysize_ptr119 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %155, i64 3 %156 = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr119 to i64 addrspace(11)* %157 = add i64 %unbox466.unpack794.unpack.unpack.pn, -1 %158 = addrspacecast {} addrspace(10)* %unbox466.unpack.pn to float addrspace(13)* addrspace(11)* %159 = addrspacecast {} addrspace(10)* %unbox480.unpack.pn to {} addrspace(10)* addrspace(11)* %arraysize_ptr134 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %159, i64 3 %160 = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr134 to i64 addrspace(11)* %161 = add i64 %unbox480.unpack764.unpack.unpack.pn, -1 %162 = addrspacecast {} addrspace(10)* %unbox480.unpack.pn to float addrspace(13)* addrspace(11)* %163 = add i64 %.pn915, -1 %164 = addrspacecast {} addrspace(10)* %.pn918 to float addrspace(13)* addrspace(11)* %165 = addrspacecast {} addrspace(10)* %122 to float addrspace(13)* addrspace(11)* br label %L347, !dbg !12543 L347: ; preds = %L569, %L347.preheader %iv = phi i64 [ %iv.next, %L569 ], [ 0, %L347.preheader ] %iv.next = add nuw nsw i64 %iv, 1, !dbg !12543 br i1 %154, label %L569, label %L356.lr.ph, !dbg !12543 L356.lr.ph: ; preds = %L347 %arraysize120 = load i64, i64 addrspace(11)* %156, align 8, !tbaa !223, !range !230, !invariant.load !218, !alias.scope !231, !noalias !234 %value_phi102.op = add nsw i64 %iv.next, -1 %166 = select i1 %.not583, i64 0, i64 %value_phi102.op %167 = mul i64 %arraysize120, %166 %arrayptr122611 = load float addrspace(13)*, float addrspace(13)* addrspace(11)* %158, align 8, !tbaa !223, !invariant.load !218, !alias.scope !12544, !noalias !234, !nonnull !218 %arraysize135 = load i64, i64 addrspace(11)* %160, align 8, !tbaa !223, !range !230, !invariant.load !218, !alias.scope !231, !noalias !234 %168 = select i1 %.not592, i64 0, i64 %value_phi102.op %169 = mul i64 %arraysize135, %168 %arrayptr138619 = load float addrspace(13)*, float addrspace(13)* addrspace(11)* %162, align 8, !tbaa !223, !invariant.load !218, !alias.scope !12544, !noalias !234, !nonnull !218 %arrayptr146620 = load float addrspace(13)*, float addrspace(13)* addrspace(11)* %164, align 8, !tbaa !1060, !alias.scope !12545, !noalias !1064, !nonnull !218 %170 = mul i64 %value_phi102.op, %.sroa.0882.0 %171 = add i64 %157, %167 %172 = add i64 %161, %169 br label %L356, !dbg !12546 L356: ; preds = %L356, %L356.lr.ph %iv1 = phi i64 [ %iv.next2, %L356 ], [ 0, %L356.lr.ph ] %iv.next2 = add nuw nsw i64 %iv1, 1, !dbg !12547 %173 = select i1 %.not584, i64 0, i64 %iv1, !dbg !12550 %174 = add i64 %171, %173, !dbg !12564 %175 = getelementptr inbounds float, float addrspace(13)* %arrayptr122611, i64 %174, !dbg !12564 %arrayref = load float, float addrspace(13)* %175, align 4, !dbg !12564, !tbaa !1157, !alias.scope !267, !noalias !280 %176 = select i1 %.not593, i64 0, i64 %iv1, !dbg !12565 %177 = add i64 %172, %176, !dbg !12573 %178 = getelementptr inbounds float, float addrspace(13)* %arrayptr138619, i64 %177, !dbg !12573 %arrayref139 = load float, float addrspace(13)* %178, align 4, !dbg !12573, !tbaa !1157, !alias.scope !267, !noalias !280 %179 = select i1 %.not603, i64 1, i64 %iv.next2, !dbg !12574 %180 = add i64 %163, %179, !dbg !12579 %181 = getelementptr inbounds float, float addrspace(13)* %arrayptr146620, i64 %180, !dbg !12579 %arrayref147 = load float, float addrspace(13)* %181, align 4, !dbg !12579, !tbaa !1157, !alias.scope !267, !noalias !280 %182 = fadd float %arrayref, %arrayref139, !dbg !12583 %183 = fadd float %182, %arrayref147, !dbg !12583 %184 = call float @llvm.fabs.f32(float %183) #228, !dbg !12587 %185 = fneg fast float %184, !dbg !12592 %186 = call fastcc float @julia_exp_fast_2449(float %185) #234, !dbg !12589 %187 = fcmp ult float %183, 0.000000e+00, !dbg !12593 %188 = fadd float %186, 1.000000e+00, !dbg !12597 %.v921 = select i1 %187, float %186, float 1.000000e+00, !dbg !12599 %189 = fdiv float %.v921, %188, !dbg !12599 %190 = fcmp ule float %183, 4.000000e+01, !dbg !12600 %191 = fcmp uge float %183, -8.000000e+01, !dbg !12604 %192 = select i1 %191, float %189, float 0.000000e+00, !dbg !12606 %193 = select i1 %190, float %192, float 1.000000e+00, !dbg !12606 %194 = add i64 %iv1, %170, !dbg !12607 %arrayptr155621 = load float addrspace(13)*, float addrspace(13)* addrspace(11)* %165, align 8, !dbg !12607, !tbaa !223, !invariant.load !218, !alias.scope !12544, !noalias !234, !nonnull !218 %195 = getelementptr inbounds float, float addrspace(13)* %arrayptr155621, i64 %194, !dbg !12607 store float %193, float addrspace(13)* %195, align 4, !dbg !12607, !tbaa !1157, !alias.scope !267, !noalias !12368 %exitcond932.not = icmp eq i64 %iv.next2, %.sroa.0882.0, !dbg !12609 br i1 %exitcond932.not, label %L569.loopexit, label %L356, !dbg !12546, !llvm.loop !12610 L569.loopexit: ; preds = %L356 br label %L569, !dbg !12611 L569: ; preds = %L569.loopexit, %L347 %196 = add nuw i64 %iv.next, 1, !dbg !12611 %197 = icmp ult i64 %iv.next, 9223372036854775807, !dbg !12615 %198 = icmp sle i64 %196, %.sroa.0878.0, !dbg !12615 %.not828 = and i1 %197, %198, !dbg !12618 %199 = icmp ne i64 %iv.next, %.sroa.0878.0 %or.cond = and i1 %199, %.not828, !dbg !12618 br i1 %or.cond, label %L347, label %L607.loopexit, !dbg !12618 L593: ; preds = %L192, %L180.L593_crit_edge %arraysize392 = phi i64 [ %arraysize392.pre, %L180.L593_crit_edge ], [ %arraysize47, %L192 ], !dbg !12393 %200 = getelementptr inbounds [2 x [1 x i64]], [2 x [1 x i64]]* %newstruct397, i64 0, i64 0, i64 0, !dbg !12619 store i64 %arraysize, i64* %200, align 8, !dbg !12619, !tbaa !796, !alias.scope !798, !noalias !12384 %201 = getelementptr inbounds [2 x [1 x i64]], [2 x [1 x i64]]* %newstruct397, i64 0, i64 1, i64 0, !dbg !12619 store i64 %arraysize392, i64* %201, align 8, !dbg !12619, !tbaa !796, !alias.scope !798, !noalias !12384 %202 = addrspacecast [2 x [1 x i64]]* %newstruct397 to [2 x [1 x i64]] addrspace(11)*, !dbg !12395 %203 = addrspacecast [2 x [1 x i64]]* %newstruct29 to [2 x [1 x i64]] addrspace(11)*, !dbg !12395 call fastcc void @julia_throwdm_2362([2 x [1 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(16) %202, [2 x [1 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(16) %203) #232, !dbg !12395 unreachable, !dbg !12395 L607.loopexit: ; preds = %L569 br label %L607, !dbg !12623 L607: ; preds = %L607.loopexit, %L311 %204 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 1, !dbg !12623 %205 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 1, !dbg !12623 %206 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 1, !dbg !12623 %207 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 1, i32 1, i32 0, i64 0, !dbg !12625 %208 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 1, i32 1, i32 0, i64 1, !dbg !12637 %unbox170 = load i64, i64 addrspace(11)* %208, align 8, !dbg !12639, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234 %unbox171 = load i64, i64 addrspace(11)* %207, align 8, !dbg !12639, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234 %209 = add i64 %unbox170, 1, !dbg !12639 %210 = sub i64 %209, %unbox171, !dbg !12641 %211 = call i64 @llvm.smax.i64(i64 %210, i64 0) #228, !dbg !12642 %212 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 1, i32 1, i32 0, i64 0, !dbg !12647 %213 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 1, i32 1, i32 0, i64 1, !dbg !12654 %unbox174 = load i64, i64 addrspace(11)* %213, align 8, !dbg !12656, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234 %unbox175 = load i64, i64 addrspace(11)* %212, align 8, !dbg !12656, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234 %214 = add i64 %unbox174, 1, !dbg !12656 %215 = sub i64 %214, %unbox175, !dbg !12658 %216 = call i64 @llvm.smax.i64(i64 %215, i64 0) #228, !dbg !12659 %217 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 1, i32 1, i64 0, i64 0, !dbg !12647 %218 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 1, i32 1, i64 0, i64 1, !dbg !12654 %unbox178 = load i64, i64 addrspace(11)* %218, align 8, !dbg !12656, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234 %unbox179 = load i64, i64 addrspace(11)* %217, align 8, !dbg !12656, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234 %219 = sub i64 %unbox178, %unbox179, !dbg !12656 %220 = add i64 %219, 1, !dbg !12658 %221 = call i64 @llvm.smax.i64(i64 %220, i64 0) #228, !dbg !12659 %222 = icmp eq i64 %221, %216, !dbg !12664 %223 = icmp eq i64 %216, 1, !dbg !12666 %value_phi182.in = or i1 %223, %222, !dbg !12666 br i1 %value_phi182.in, label %L661, label %L649, !dbg !12667 L649: ; preds = %L607 %224 = icmp eq i64 %221, 1, !dbg !12666 br i1 %224, label %L661, label %L657, !dbg !12667 L657: ; preds = %L649 %225 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %216) #229, !dbg !12667 %226 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %221) #229, !dbg !12667 %227 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* nonnull @ijl_invoke, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043927306144 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043904669504 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020768 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %225, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020736 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %226) #230, !dbg !12667 %current_task385751 = getelementptr inbounds {}**, {}*** %72, i64 -14, !dbg !12667 %current_task385 = bitcast {}*** %current_task385751 to {}**, !dbg !12667 %box386 = call noalias nonnull dereferenceable(8) "enzyme_inactive" {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task385, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043906479456 to {}*) to {} addrspace(10)*)) #231, !dbg !12667 %228 = bitcast {} addrspace(10)* %box386 to [1 x {} addrspace(10)*] addrspace(10)*, !dbg !12667 %229 = getelementptr [1 x {} addrspace(10)*], [1 x {} addrspace(10)*] addrspace(10)* %228, i64 0, i64 0, !dbg !12667 store {} addrspace(10)* %227, {} addrspace(10)* addrspace(10)* %229, align 8, !dbg !12667, !tbaa !263, !alias.scope !267, !noalias !12368 %230 = addrspacecast {} addrspace(10)* %box386 to {} addrspace(12)*, !dbg !12667 call void @ijl_throw({} addrspace(12)* %230) #228, !dbg !12667 unreachable, !dbg !12667 L661: ; preds = %L649, %L607 %.sroa.0856.0 = phi i64 [ %221, %L607 ], [ %216, %L649 ], !dbg !12670 %231 = icmp eq i64 %.sroa.0856.0, %211, !dbg !12671 %232 = icmp eq i64 %211, 1, !dbg !12673 %value_phi192.in = or i1 %232, %231, !dbg !12673 br i1 %value_phi192.in, label %L694, label %L682, !dbg !12674 L682: ; preds = %L661 %233 = icmp eq i64 %.sroa.0856.0, 1, !dbg !12673 br i1 %233, label %L694, label %L690, !dbg !12674 L690: ; preds = %L682 %234 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %211) #229, !dbg !12674 %235 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %.sroa.0856.0) #229, !dbg !12674 %236 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* nonnull @ijl_invoke, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043927306144 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043904669504 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020768 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %234, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020736 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %235) #230, !dbg !12674 %current_task380750 = getelementptr inbounds {}**, {}*** %72, i64 -14, !dbg !12674 %current_task380 = bitcast {}*** %current_task380750 to {}**, !dbg !12674 %box381 = call noalias nonnull dereferenceable(8) "enzyme_inactive" {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task380, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043906479456 to {}*) to {} addrspace(10)*)) #231, !dbg !12674 %237 = bitcast {} addrspace(10)* %box381 to [1 x {} addrspace(10)*] addrspace(10)*, !dbg !12674 %238 = getelementptr [1 x {} addrspace(10)*], [1 x {} addrspace(10)*] addrspace(10)* %237, i64 0, i64 0, !dbg !12674 store {} addrspace(10)* %236, {} addrspace(10)* addrspace(10)* %238, align 8, !dbg !12674, !tbaa !263, !alias.scope !267, !noalias !12368 %239 = addrspacecast {} addrspace(10)* %box381 to {} addrspace(12)*, !dbg !12674 call void @ijl_throw({} addrspace(12)* %239) #228, !dbg !12674 unreachable, !dbg !12674 L694: ; preds = %L682, %L661 %.sroa.0852.0 = phi i64 [ %.sroa.0856.0, %L661 ], [ %211, %L682 ], !dbg !12670 %240 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 1, i32 1, i32 1, i64 0, i64 0, !dbg !12677 %241 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 1, i32 1, i32 1, i64 0, i64 0, !dbg !12677 %unbox198 = load i64, i64 addrspace(11)* %240, align 8, !dbg !12683, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234 %unbox199 = load i64, i64 addrspace(11)* %241, align 8, !dbg !12683 %242 = icmp eq i64 %unbox198, %unbox199, !dbg !12683 %243 = icmp eq i64 %unbox199, 1, !dbg !12680 %value_phi200.in = or i1 %242, %243, !dbg !12680 br i1 %value_phi200.in, label %L761.preheader, label %L711, !dbg !12681 L711: ; preds = %L694 %244 = icmp eq i64 %unbox198, 1, !dbg !12680 br i1 %244, label %L761.preheader, label %L722, !dbg !12681 L722: ; preds = %L711 %245 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %unbox199) #229, !dbg !12681 %246 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %unbox198) #229, !dbg !12681 %247 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* nonnull @ijl_invoke, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043927306144 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043904669504 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020768 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %245, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020736 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %246) #230, !dbg !12681 %current_task375749 = getelementptr inbounds {}**, {}*** %72, i64 -14, !dbg !12681 %current_task375 = bitcast {}*** %current_task375749 to {}**, !dbg !12681 %box = call noalias nonnull dereferenceable(8) "enzyme_inactive" {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task375, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043906479456 to {}*) to {} addrspace(10)*)) #231, !dbg !12681 %248 = bitcast {} addrspace(10)* %box to [1 x {} addrspace(10)*] addrspace(10)*, !dbg !12681 %249 = getelementptr [1 x {} addrspace(10)*], [1 x {} addrspace(10)*] addrspace(10)* %248, i64 0, i64 0, !dbg !12681 store {} addrspace(10)* %247, {} addrspace(10)* addrspace(10)* %249, align 8, !dbg !12681, !tbaa !263, !alias.scope !267, !noalias !12368 %250 = addrspacecast {} addrspace(10)* %box to {} addrspace(12)*, !dbg !12681 call void @ijl_throw({} addrspace(12)* %250) #228, !dbg !12681 unreachable, !dbg !12681 L761.preheader: ; preds = %L711, %L694 %.sroa.0848.0 = phi i64 [ %unbox198, %L694 ], [ %unbox199, %L711 ] %memcpy_refined_dst203 = getelementptr inbounds [2 x [1 x i64]], [2 x [1 x i64]]* %newstruct201, i64 0, i64 0, i64 0, !dbg !12675 store i64 %.sroa.0852.0, i64* %memcpy_refined_dst203, align 8, !dbg !12675, !tbaa !796, !alias.scope !798, !noalias !12384 %memcpy_refined_dst205 = getelementptr inbounds [2 x [1 x i64]], [2 x [1 x i64]]* %newstruct201, i64 0, i64 1, i64 0, !dbg !12675 store i64 %.sroa.0848.0, i64* %memcpy_refined_dst205, align 8, !dbg !12675, !tbaa !796, !alias.scope !798, !noalias !12384 %251 = call noalias nonnull {} addrspace(10)* @ijl_alloc_array_2d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044074922384 to {}*) to {} addrspace(10)*), i64 %.sroa.0852.0, i64 %.sroa.0848.0) #229, !dbg !12684 %252 = addrspacecast {} addrspace(10)* %251 to {} addrspace(10)* addrspace(11)*, !dbg !12692 %arraysize_ptr225 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %252, i64 3, !dbg !12692 %253 = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr225 to i64 addrspace(11)*, !dbg !12692 %arraysize226 = load i64, i64 addrspace(11)* %253, align 8, !dbg !12692, !tbaa !223, !range !230, !invariant.load !218, !alias.scope !231, !noalias !234 %.not623 = icmp eq i64 %arraysize226, %.sroa.0852.0, !dbg !12696 br i1 %.not623, label %L798, label %L786.L1199_crit_edge, !dbg !12700 L786.L1199_crit_edge: ; preds = %L761.preheader %arraysize_ptr360.phi.trans.insert = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %252, i64 4 %.phi.trans.insert890 = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr360.phi.trans.insert to i64 addrspace(11)* %arraysize361.pre = load i64, i64 addrspace(11)* %.phi.trans.insert890, align 8, !dbg !12692, !tbaa !223, !range !230, !invariant.load !218, !alias.scope !231, !noalias !234 br label %L1199, !dbg !12700 L798: ; preds = %L761.preheader %arraysize_ptr227 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %252, i64 4, !dbg !12692 %254 = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr227 to i64 addrspace(11)*, !dbg !12692 %arraysize228 = load i64, i64 addrspace(11)* %254, align 8, !dbg !12692, !tbaa !223, !range !230, !invariant.load !218, !alias.scope !231, !noalias !234 %.not747 = icmp eq i64 %arraysize228, %.sroa.0848.0, !dbg !12701 br i1 %.not747, label %L809, label %L1199, !dbg !12694 L809: ; preds = %L798 %255 = addrspacecast {} addrspace(10)* %251 to {} addrspace(11)*, !dbg !12705 %256 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %255) #233, !dbg !12705 %257 = bitcast {}* %256 to i8**, !dbg !12705 %arrayptr233 = load i8*, i8** %257, align 8, !dbg !12705, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234, !nonnull !218 %getfield_addr234 = getelementptr inbounds { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(11)* %204, i64 0, i32 0, !dbg !12717 %getfield235 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %getfield_addr234 unordered, align 8, !dbg !12717, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234, !nonnull !218, !dereferenceable !345, !align !346 %258 = addrspacecast {} addrspace(10)* %getfield235 to {} addrspace(11)*, !dbg !12719 %259 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %258) #233, !dbg !12719 %260 = bitcast {}* %259 to i8**, !dbg !12719 %arrayptr237 = load i8*, i8** %260, align 8, !dbg !12719, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234, !nonnull !218 %.not624.not = icmp eq i8* %arrayptr233, %arrayptr237, !dbg !12722 br i1 %.not624.not, label %L818, label %L820, !dbg !12709 L818: ; preds = %L809 %261 = addrspacecast { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %19 to { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }*, !dbg !12709 %262 = addrspacecast [1 x {} addrspace(10)*] addrspace(10)* %33 to [1 x {} addrspace(10)*]*, !dbg !12709 call fastcc void @julia_unaliascopy_2418({ {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }* noalias nocapture nofree noundef nonnull writeonly sret({ {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }) align 8 dereferenceable(48) %261, [1 x {} addrspace(10)*]* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(8) "enzymejl_returnRoots" %262, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(48) %204) #228, !dbg !12709 %unbox543.elt = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %19, i64 0, i32 0, !dbg !12725 %unbox543.unpack = load {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %unbox543.elt, align 8, !dbg !12725, !tbaa !796, !alias.scope !798, !noalias !2786 %263 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } undef, {} addrspace(10)* %unbox543.unpack, 0, !dbg !12725 %unbox543.unpack717.unpack.elt = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %19, i64 0, i32 1, i32 0, i64 0, !dbg !12725 %unbox543.unpack717.unpack.unpack = load i64, i64 addrspace(10)* %unbox543.unpack717.unpack.elt, align 8, !dbg !12725, !tbaa !796, !alias.scope !798, !noalias !2786 %264 = insertvalue [2 x i64] undef, i64 %unbox543.unpack717.unpack.unpack, 0, !dbg !12725 %unbox543.unpack717.unpack.elt726 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %19, i64 0, i32 1, i32 0, i64 1, !dbg !12725 %unbox543.unpack717.unpack.unpack727 = load i64, i64 addrspace(10)* %unbox543.unpack717.unpack.elt726, align 8, !dbg !12725, !tbaa !796, !alias.scope !798, !noalias !2786 %unbox543.unpack717.unpack728 = insertvalue [2 x i64] %264, i64 %unbox543.unpack717.unpack.unpack727, 1, !dbg !12725 %265 = insertvalue { [2 x i64], [1 x [1 x i64]] } undef, [2 x i64] %unbox543.unpack717.unpack728, 0, !dbg !12725 %266 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %19, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !12725 %unbox543.unpack717.unpack724.unpack.unpack = load i64, i64 addrspace(10)* %266, align 8, !dbg !12725, !tbaa !796, !alias.scope !798, !noalias !2786 %unbox543.unpack717.unpack724.unpack730 = insertvalue [1 x i64] undef, i64 %unbox543.unpack717.unpack724.unpack.unpack, 0, !dbg !12725 %unbox543.unpack717.unpack724729 = insertvalue [1 x [1 x i64]] undef, [1 x i64] %unbox543.unpack717.unpack724.unpack730, 0, !dbg !12725 %unbox543.unpack717725 = insertvalue { [2 x i64], [1 x [1 x i64]] } %265, [1 x [1 x i64]] %unbox543.unpack717.unpack724729, 1, !dbg !12725 %267 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %263, { [2 x i64], [1 x [1 x i64]] } %unbox543.unpack717725, 1, !dbg !12725 %unbox543.elt718 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %19, i64 0, i32 2, !dbg !12725 %unbox543.unpack719 = load i64, i64 addrspace(10)* %unbox543.elt718, align 8, !dbg !12725, !tbaa !796, !alias.scope !798, !noalias !2786 %268 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %267, i64 %unbox543.unpack719, 2, !dbg !12725 %unbox543.elt720 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %19, i64 0, i32 3, !dbg !12725 %unbox543.unpack721 = load i64, i64 addrspace(10)* %unbox543.elt720, align 8, !dbg !12725, !tbaa !796, !alias.scope !798, !noalias !2786 %unbox543722 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %268, i64 %unbox543.unpack721, 3, !dbg !12725 br label %L823, !dbg !12725 L820: ; preds = %L809 %.not731 = icmp eq { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(11)* %204, null, !dbg !12725 br i1 %.not731, label %L823, label %guard_pass548, !dbg !12725 L823: ; preds = %guard_pass548, %L820, %L818 %value_phi238 = phi { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } [ %unbox543722, %L818 ], [ zeroinitializer, %L820 ], [ %unbox550738, %guard_pass548 ] %269 = extractvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %value_phi238, 1, !dbg !12735 %.elt625 = extractvalue { [2 x i64], [1 x [1 x i64]] } %269, 0, !dbg !12735 %.elt625.elt = extractvalue [2 x i64] %.elt625, 0, !dbg !12735 %.elt625.elt630 = extractvalue [2 x i64] %.elt625, 1, !dbg !12735 %.elt627 = extractvalue { [2 x i64], [1 x [1 x i64]] } %269, 1, !dbg !12735 %270 = extractvalue [1 x [1 x i64]] %.elt627, 0, !dbg !12735 %271 = extractvalue [1 x i64] %270, 0, !dbg !12735 %272 = sub i64 1, %.elt625.elt, !dbg !12739 %273 = add i64 %272, %.elt625.elt630, !dbg !12743 %274 = call i64 @llvm.smax.i64(i64 %273, i64 0) #228, !dbg !12744 %.not631 = icmp eq i64 %271, 1, !dbg !12749 %.not632 = icmp eq i64 %274, 1, !dbg !12754 %getfield_addr247 = getelementptr inbounds { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(11)* %205, i64 0, i32 0, !dbg !12757 %getfield248 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %getfield_addr247 unordered, align 8, !dbg !12757, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234, !nonnull !218, !dereferenceable !345, !align !346 %275 = addrspacecast {} addrspace(10)* %getfield248 to {} addrspace(11)*, !dbg !12764 %276 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %275) #233, !dbg !12764 %277 = bitcast {}* %276 to i8**, !dbg !12764 %arrayptr250 = load i8*, i8** %277, align 8, !dbg !12764, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234, !nonnull !218 %.not633.not = icmp eq i8* %arrayptr233, %arrayptr250, !dbg !12767 br i1 %.not633.not, label %L850, label %L852, !dbg !12760 L850: ; preds = %L823 %278 = addrspacecast { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %47 to { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }*, !dbg !12760 %279 = addrspacecast [1 x {} addrspace(10)*] addrspace(10)* %61 to [1 x {} addrspace(10)*]*, !dbg !12760 call fastcc void @julia_unaliascopy_2418({ {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }* noalias nocapture nofree noundef nonnull writeonly sret({ {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }) align 8 dereferenceable(48) %278, [1 x {} addrspace(10)*]* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(8) "enzymejl_returnRoots" %279, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(48) %205) #228, !dbg !12760 %unbox557.elt = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %47, i64 0, i32 0, !dbg !12725 %unbox557.unpack = load {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %unbox557.elt, align 8, !dbg !12725, !tbaa !796, !alias.scope !798, !noalias !2786 %280 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } undef, {} addrspace(10)* %unbox557.unpack, 0, !dbg !12725 %unbox557.unpack686.unpack.elt = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %47, i64 0, i32 1, i32 0, i64 0, !dbg !12725 %unbox557.unpack686.unpack.unpack = load i64, i64 addrspace(10)* %unbox557.unpack686.unpack.elt, align 8, !dbg !12725, !tbaa !796, !alias.scope !798, !noalias !2786 %281 = insertvalue [2 x i64] undef, i64 %unbox557.unpack686.unpack.unpack, 0, !dbg !12725 %unbox557.unpack686.unpack.elt695 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %47, i64 0, i32 1, i32 0, i64 1, !dbg !12725 %unbox557.unpack686.unpack.unpack696 = load i64, i64 addrspace(10)* %unbox557.unpack686.unpack.elt695, align 8, !dbg !12725, !tbaa !796, !alias.scope !798, !noalias !2786 %unbox557.unpack686.unpack697 = insertvalue [2 x i64] %281, i64 %unbox557.unpack686.unpack.unpack696, 1, !dbg !12725 %282 = insertvalue { [2 x i64], [1 x [1 x i64]] } undef, [2 x i64] %unbox557.unpack686.unpack697, 0, !dbg !12725 %283 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %47, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !12725 %unbox557.unpack686.unpack693.unpack.unpack = load i64, i64 addrspace(10)* %283, align 8, !dbg !12725, !tbaa !796, !alias.scope !798, !noalias !2786 %unbox557.unpack686.unpack693.unpack699 = insertvalue [1 x i64] undef, i64 %unbox557.unpack686.unpack693.unpack.unpack, 0, !dbg !12725 %unbox557.unpack686.unpack693698 = insertvalue [1 x [1 x i64]] undef, [1 x i64] %unbox557.unpack686.unpack693.unpack699, 0, !dbg !12725 %unbox557.unpack686694 = insertvalue { [2 x i64], [1 x [1 x i64]] } %282, [1 x [1 x i64]] %unbox557.unpack686.unpack693698, 1, !dbg !12725 %284 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %280, { [2 x i64], [1 x [1 x i64]] } %unbox557.unpack686694, 1, !dbg !12725 %unbox557.elt687 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %47, i64 0, i32 2, !dbg !12725 %unbox557.unpack688 = load i64, i64 addrspace(10)* %unbox557.elt687, align 8, !dbg !12725, !tbaa !796, !alias.scope !798, !noalias !2786 %285 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %284, i64 %unbox557.unpack688, 2, !dbg !12725 %unbox557.elt689 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %47, i64 0, i32 3, !dbg !12725 %unbox557.unpack690 = load i64, i64 addrspace(10)* %unbox557.elt689, align 8, !dbg !12725, !tbaa !796, !alias.scope !798, !noalias !2786 %unbox557691 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %285, i64 %unbox557.unpack690, 3, !dbg !12725 br label %L855, !dbg !12725 L852: ; preds = %L823 %.not700 = icmp eq { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(11)* %205, null, !dbg !12725 br i1 %.not700, label %L855, label %guard_pass562, !dbg !12725 L855: ; preds = %guard_pass562, %L852, %L850 %value_phi251 = phi { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } [ %unbox557691, %L850 ], [ zeroinitializer, %L852 ], [ %unbox564707, %guard_pass562 ] %286 = extractvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %value_phi251, 1, !dbg !12770 %.elt634 = extractvalue { [2 x i64], [1 x [1 x i64]] } %286, 0, !dbg !12770 %.elt634.elt = extractvalue [2 x i64] %.elt634, 0, !dbg !12770 %.elt634.elt639 = extractvalue [2 x i64] %.elt634, 1, !dbg !12770 %.elt636 = extractvalue { [2 x i64], [1 x [1 x i64]] } %286, 1, !dbg !12770 %287 = extractvalue [1 x [1 x i64]] %.elt636, 0, !dbg !12770 %288 = extractvalue [1 x i64] %287, 0, !dbg !12770 %289 = sub i64 1, %.elt634.elt, !dbg !12774 %290 = add i64 %289, %.elt634.elt639, !dbg !12778 %291 = call i64 @llvm.smax.i64(i64 %290, i64 0) #228, !dbg !12779 %.not640 = icmp eq i64 %288, 1, !dbg !12784 %.not641 = icmp eq i64 %291, 1, !dbg !12789 %getfield_addr260 = getelementptr inbounds { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }, { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } addrspace(11)* %206, i64 0, i32 0, !dbg !12792 %getfield261 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %getfield_addr260 unordered, align 8, !dbg !12792, !tbaa !223, !invariant.load !218, !alias.scope !231, !noalias !234, !nonnull !218, !dereferenceable !345, !align !346 %292 = addrspacecast {} addrspace(10)* %getfield261 to {} addrspace(11)*, !dbg !12799 %293 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %292) #233, !dbg !12799 %294 = bitcast {}* %293 to i8**, !dbg !12799 %arrayptr263 = load i8*, i8** %294, align 8, !dbg !12799, !tbaa !1060, !alias.scope !1063, !noalias !1064, !nonnull !218 %.not642.not = icmp eq i8* %arrayptr233, %arrayptr263, !dbg !12802 br i1 %.not642.not, label %L882, label %L914, !dbg !12795 L882: ; preds = %L855 %295 = call noalias nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038977780880 to {}*) to {} addrspace(10)*), i64 %220) #229, !dbg !12805 call fastcc void @julia_copyto__2405({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %295, { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(40) %206) #228, !dbg !12809 %.not643 = icmp ugt i64 %219, 9223372036854775806, !dbg !12810 %value_phi269 = select i1 %.not643, i64 0, i64 %220, !dbg !12812 %296 = insertvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } zeroinitializer, {} addrspace(10)* %295, 0, !dbg !12820 %unbox273.unpack647 = insertvalue [2 x i64] [i64 1, i64 undef], i64 %value_phi269, 1, !dbg !12820 %unbox273644 = insertvalue [1 x [2 x i64]] undef, [2 x i64] %unbox273.unpack647, 0, !dbg !12820 %297 = insertvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } %296, [1 x [2 x i64]] %unbox273644, 1, !dbg !12820 %298 = insertvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } %297, i64 0, 2, !dbg !12820 %299 = insertvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } %298, i64 1, 3, !dbg !12820 br label %L917, !dbg !12725 L914: ; preds = %L855 %.not673 = icmp eq { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } addrspace(11)* %206, null, !dbg !12725 br i1 %.not673, label %L917, label %guard_pass569, !dbg !12725 L917: ; preds = %guard_pass569, %L914, %L882 %value_phi274 = phi { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } [ %299, %L882 ], [ zeroinitializer, %L914 ], [ %unbox571680, %guard_pass569 ] %300 = extractvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } %value_phi274, 1, !dbg !12821 %301 = extractvalue [1 x [2 x i64]] %300, 0, !dbg !12821 %.elt648 = extractvalue [2 x i64] %301, 0, !dbg !12821 %.elt650 = extractvalue [2 x i64] %301, 1, !dbg !12821 %302 = sub i64 1, %.elt648, !dbg !12825 %303 = add i64 %302, %.elt650, !dbg !12829 %304 = call i64 @llvm.smax.i64(i64 %303, i64 0) #228, !dbg !12830 %.not651 = icmp eq i64 %304, 1, !dbg !12835 %.not927 = icmp eq i64 %.sroa.0848.0, 0, !dbg !12839 br i1 %.not927, label %L1213, label %L953.preheader, !dbg !12843 L953.preheader: ; preds = %L917 %305 = icmp eq i64 %.sroa.0852.0, 0 %306 = extractvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %value_phi238, 0 %307 = addrspacecast {} addrspace(10)* %306 to {} addrspace(10)* addrspace(11)* %arraysize_ptr304 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %307, i64 3 %308 = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr304 to i64 addrspace(11)* %309 = add i64 %.elt625.elt, -1 %310 = addrspacecast {} addrspace(10)* %306 to float addrspace(13)* addrspace(11)* %311 = extractvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %value_phi251, 0 %312 = addrspacecast {} addrspace(10)* %311 to {} addrspace(10)* addrspace(11)* %arraysize_ptr321 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %312, i64 3 %313 = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr321 to i64 addrspace(11)* %314 = add i64 %.elt634.elt, -1 %315 = addrspacecast {} addrspace(10)* %311 to float addrspace(13)* addrspace(11)* %316 = extractvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } %value_phi274, 0 %317 = extractvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } %value_phi274, 2 %318 = add i64 %317, -1 %319 = addrspacecast {} addrspace(10)* %316 to float addrspace(13)* addrspace(11)* %320 = addrspacecast {} addrspace(10)* %251 to float addrspace(13)* addrspace(11)* br label %L953, !dbg !12845 L953: ; preds = %L1175, %L953.preheader %iv3 = phi i64 [ %iv.next4, %L1175 ], [ 0, %L953.preheader ] %iv.next4 = add nuw nsw i64 %iv3, 1, !dbg !12845 br i1 %305, label %L1175, label %L962.lr.ph, !dbg !12845 L962.lr.ph: ; preds = %L953 %arraysize305 = load i64, i64 addrspace(11)* %308, align 8, !tbaa !223, !range !230, !invariant.load !218, !alias.scope !231, !noalias !234 %value_phi286.op = add nsw i64 %iv.next4, -1 %321 = select i1 %.not631, i64 0, i64 %value_phi286.op %322 = mul i64 %arraysize305, %321 %arrayptr308659 = load float addrspace(13)*, float addrspace(13)* addrspace(11)* %310, align 8, !tbaa !223, !invariant.load !218, !alias.scope !12544, !noalias !234, !nonnull !218 %arraysize322 = load i64, i64 addrspace(11)* %313, align 8, !tbaa !223, !range !230, !invariant.load !218, !alias.scope !231, !noalias !234 %323 = select i1 %.not640, i64 0, i64 %value_phi286.op %324 = mul i64 %arraysize322, %323 %arrayptr325667 = load float addrspace(13)*, float addrspace(13)* addrspace(11)* %315, align 8, !tbaa !223, !invariant.load !218, !alias.scope !12544, !noalias !234, !nonnull !218 %arrayptr333668 = load float addrspace(13)*, float addrspace(13)* addrspace(11)* %319, align 8, !tbaa !1060, !alias.scope !12545, !noalias !1064, !nonnull !218 %325 = mul i64 %value_phi286.op, %.sroa.0852.0 %326 = add i64 %309, %322 %327 = add i64 %314, %324 br label %L962, !dbg !12846 L962: ; preds = %L962, %L962.lr.ph %iv5 = phi i64 [ %iv.next6, %L962 ], [ 0, %L962.lr.ph ] %iv.next6 = add nuw nsw i64 %iv5, 1, !dbg !12847 %328 = select i1 %.not632, i64 0, i64 %iv5, !dbg !12850 %329 = add i64 %326, %328, !dbg !12864 %330 = getelementptr inbounds float, float addrspace(13)* %arrayptr308659, i64 %329, !dbg !12864 %arrayref309 = load float, float addrspace(13)* %330, align 4, !dbg !12864, !tbaa !1157, !alias.scope !267, !noalias !280 %331 = select i1 %.not641, i64 0, i64 %iv5, !dbg !12865 %332 = add i64 %327, %331, !dbg !12873 %333 = getelementptr inbounds float, float addrspace(13)* %arrayptr325667, i64 %332, !dbg !12873 %arrayref326 = load float, float addrspace(13)* %333, align 4, !dbg !12873, !tbaa !1157, !alias.scope !267, !noalias !280 %334 = select i1 %.not651, i64 1, i64 %iv.next6, !dbg !12874 %335 = add i64 %318, %334, !dbg !12879 %336 = getelementptr inbounds float, float addrspace(13)* %arrayptr333668, i64 %335, !dbg !12879 %arrayref334 = load float, float addrspace(13)* %336, align 4, !dbg !12879, !tbaa !1157, !alias.scope !267, !noalias !280 %337 = fadd float %arrayref309, %arrayref326, !dbg !12883 %338 = fadd float %337, %arrayref334, !dbg !12883 %339 = call float @llvm.fabs.f32(float %338) #228, !dbg !12887 %340 = fneg fast float %339, !dbg !12892 %341 = call fastcc float @julia_exp_fast_2449(float %340) #234, !dbg !12889 %342 = fcmp ult float %338, 0.000000e+00, !dbg !12893 %343 = fadd float %341, 1.000000e+00, !dbg !12897 %.v = select i1 %342, float %341, float 1.000000e+00, !dbg !12899 %344 = fdiv float %.v, %343, !dbg !12899 %345 = fcmp ule float %338, 4.000000e+01, !dbg !12900 %346 = fcmp uge float %338, -8.000000e+01, !dbg !12904 %347 = select i1 %346, float %344, float 0.000000e+00, !dbg !12906 %348 = select i1 %345, float %347, float 1.000000e+00, !dbg !12906 %349 = add i64 %iv5, %325, !dbg !12907 %arrayptr342669 = load float addrspace(13)*, float addrspace(13)* addrspace(11)* %320, align 8, !dbg !12907, !tbaa !223, !invariant.load !218, !alias.scope !12544, !noalias !234, !nonnull !218 %350 = getelementptr inbounds float, float addrspace(13)* %arrayptr342669, i64 %349, !dbg !12907 store float %348, float addrspace(13)* %350, align 4, !dbg !12907, !tbaa !1157, !alias.scope !267, !noalias !12368 %exitcond.not = icmp eq i64 %iv.next6, %.sroa.0852.0, !dbg !12909 br i1 %exitcond.not, label %L1175.loopexit, label %L962, !dbg !12846, !llvm.loop !12910 L1175.loopexit: ; preds = %L962 br label %L1175, !dbg !12911 L1175: ; preds = %L1175.loopexit, %L953 %351 = add nuw i64 %iv.next4, 1, !dbg !12911 %352 = icmp ult i64 %iv.next4, 9223372036854775807, !dbg !12915 %353 = icmp sle i64 %351, %.sroa.0848.0, !dbg !12915 %.not830 = and i1 %352, %353, !dbg !12918 %354 = icmp ne i64 %iv.next4, %.sroa.0848.0 %or.cond832 = and i1 %354, %.not830, !dbg !12918 br i1 %or.cond832, label %L953, label %L1213.loopexit, !dbg !12918 L1199: ; preds = %L798, %L786.L1199_crit_edge %arraysize361 = phi i64 [ %arraysize361.pre, %L786.L1199_crit_edge ], [ %arraysize228, %L798 ], !dbg !12692 %355 = getelementptr inbounds [2 x [1 x i64]], [2 x [1 x i64]]* %newstruct366, i64 0, i64 0, i64 0, !dbg !12919 store i64 %arraysize226, i64* %355, align 8, !dbg !12919, !tbaa !796, !alias.scope !798, !noalias !12384 %356 = getelementptr inbounds [2 x [1 x i64]], [2 x [1 x i64]]* %newstruct366, i64 0, i64 1, i64 0, !dbg !12919 store i64 %arraysize361, i64* %356, align 8, !dbg !12919, !tbaa !796, !alias.scope !798, !noalias !12384 %357 = addrspacecast [2 x [1 x i64]]* %newstruct366 to [2 x [1 x i64]] addrspace(11)*, !dbg !12694 %358 = addrspacecast [2 x [1 x i64]]* %newstruct201 to [2 x [1 x i64]] addrspace(11)*, !dbg !12694 call fastcc void @julia_throwdm_2362([2 x [1 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(16) %357, [2 x [1 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(16) %358) #232, !dbg !12694 unreachable, !dbg !12694 L1213.loopexit: ; preds = %L1175 br label %L1213, !dbg !12923 L1213: ; preds = %L1213.loopexit, %L917 %.repack = getelementptr inbounds [2 x {} addrspace(10)*], [2 x {} addrspace(10)*]* %0, i64 0, i64 0, !dbg !12923 store {} addrspace(10)* %122, {} addrspace(10)** %.repack, align 8, !dbg !12923, !noalias !12924 %.repack671 = getelementptr inbounds [2 x {} addrspace(10)*], [2 x {} addrspace(10)*]* %0, i64 0, i64 1, !dbg !12923 store {} addrspace(10)* %251, {} addrspace(10)** %.repack671, align 8, !dbg !12923, !noalias !12924 ret void, !dbg !12923 guard_pass492: ; preds = %L249 %359 = insertvalue [2 x i64] undef, i64 %unbox8, 0, !dbg !12426 %unbox494.elt754 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 0, i32 2, !dbg !12426 %unbox494.unpack755 = load i64, i64 addrspace(11)* %unbox494.elt754, align 8, !dbg !12426, !tbaa !223, !alias.scope !231, !noalias !234 br label %L311, !dbg !12426 guard_pass548: ; preds = %L820 %360 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } undef, {} addrspace(10)* %getfield235, 0, !dbg !12725 %361 = insertvalue [2 x i64] undef, i64 %unbox171, 0, !dbg !12725 %unbox550.unpack733.unpack744 = insertvalue [2 x i64] %361, i64 %unbox170, 1, !dbg !12725 %362 = insertvalue { [2 x i64], [1 x [1 x i64]] } undef, [2 x i64] %unbox550.unpack733.unpack744, 0, !dbg !12725 %unbox550.unpack733.unpack740.unpack746 = insertvalue [1 x i64] undef, i64 %unbox199, 0, !dbg !12725 %unbox550.unpack733.unpack740745 = insertvalue [1 x [1 x i64]] undef, [1 x i64] %unbox550.unpack733.unpack740.unpack746, 0, !dbg !12725 %unbox550.unpack733741 = insertvalue { [2 x i64], [1 x [1 x i64]] } %362, [1 x [1 x i64]] %unbox550.unpack733.unpack740745, 1, !dbg !12725 %363 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %360, { [2 x i64], [1 x [1 x i64]] } %unbox550.unpack733741, 1, !dbg !12725 %unbox550.elt734 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 1, i32 2, !dbg !12725 %unbox550.unpack735 = load i64, i64 addrspace(11)* %unbox550.elt734, align 8, !dbg !12725, !tbaa !223, !alias.scope !231, !noalias !234 %364 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %363, i64 %unbox550.unpack735, 2, !dbg !12725 %unbox550.elt736 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 1, i32 3, !dbg !12725 %unbox550.unpack737 = load i64, i64 addrspace(11)* %unbox550.elt736, align 8, !dbg !12725, !tbaa !223, !alias.scope !231, !noalias !234 %unbox550738 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %364, i64 %unbox550.unpack737, 3, !dbg !12725 br label %L823, !dbg !12725 guard_pass562: ; preds = %L852 %365 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } undef, {} addrspace(10)* %getfield248, 0, !dbg !12725 %366 = insertvalue [2 x i64] undef, i64 %unbox175, 0, !dbg !12725 %unbox564.unpack702.unpack713 = insertvalue [2 x i64] %366, i64 %unbox174, 1, !dbg !12725 %367 = insertvalue { [2 x i64], [1 x [1 x i64]] } undef, [2 x i64] %unbox564.unpack702.unpack713, 0, !dbg !12725 %unbox564.unpack702.unpack709.unpack715 = insertvalue [1 x i64] undef, i64 %unbox198, 0, !dbg !12725 %unbox564.unpack702.unpack709714 = insertvalue [1 x [1 x i64]] undef, [1 x i64] %unbox564.unpack702.unpack709.unpack715, 0, !dbg !12725 %unbox564.unpack702710 = insertvalue { [2 x i64], [1 x [1 x i64]] } %367, [1 x [1 x i64]] %unbox564.unpack702.unpack709714, 1, !dbg !12725 %368 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %365, { [2 x i64], [1 x [1 x i64]] } %unbox564.unpack702710, 1, !dbg !12725 %unbox564.elt703 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 1, i32 2, !dbg !12725 %unbox564.unpack704 = load i64, i64 addrspace(11)* %unbox564.elt703, align 8, !dbg !12725, !tbaa !223, !alias.scope !231, !noalias !234 %369 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %368, i64 %unbox564.unpack704, 2, !dbg !12725 %unbox564.elt705 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 1, i32 3, !dbg !12725 %unbox564.unpack706 = load i64, i64 addrspace(11)* %unbox564.elt705, align 8, !dbg !12725, !tbaa !223, !alias.scope !231, !noalias !234 %unbox564707 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %369, i64 %unbox564.unpack706, 3, !dbg !12725 br label %L855, !dbg !12725 guard_pass569: ; preds = %L914 %370 = insertvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } undef, {} addrspace(10)* %getfield261, 0, !dbg !12725 %371 = insertvalue [2 x i64] undef, i64 %unbox179, 0, !dbg !12725 %unbox571.unpack675.unpack684 = insertvalue [2 x i64] %371, i64 %unbox178, 1, !dbg !12725 %unbox571.unpack675681 = insertvalue [1 x [2 x i64]] undef, [2 x i64] %unbox571.unpack675.unpack684, 0, !dbg !12725 %372 = insertvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } %370, [1 x [2 x i64]] %unbox571.unpack675681, 1, !dbg !12725 %unbox571.elt676 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 1, i32 2, !dbg !12725 %unbox571.unpack677 = load i64, i64 addrspace(11)* %unbox571.elt676, align 8, !dbg !12725, !tbaa !223, !alias.scope !231, !noalias !234 %373 = insertvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } %372, i64 %unbox571.unpack677, 2, !dbg !12725 %unbox571.elt678 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 1, i32 3, !dbg !12725 %unbox571.unpack679 = load i64, i64 addrspace(11)* %unbox571.elt678, align 8, !dbg !12725, !tbaa !223, !alias.scope !231, !noalias !234 %unbox571680 = insertvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } %373, i64 %unbox571.unpack679, 3, !dbg !12725 br label %L917, !dbg !12725 } Type analysis state: i64 9223372036854775806: {[-1]:Anything}, intvals: {9223372036854775806,} %.repack671 = getelementptr inbounds [2 x {} addrspace(10)*], [2 x {} addrspace(10)*]* %0, i64 0, i64 1, !dbg !976: {[-1]:Pointer, [-1,-1]:Pointer, [-1,-1,0]:Pointer, [-1,-1,0,-1]:Float@float, [-1,-1,8]:Integer, [-1,-1,9]:Integer, [-1,-1,10]:Integer, [-1,-1,11]:Integer, [-1,-1,12]:Integer, [-1,-1,13]:Integer, [-1,-1,14]:Integer, [-1,-1,15]:Integer, [-1,-1,16]:Integer, [-1,-1,17]:Integer, [-1,-1,18]:Integer, [-1,-1,19]:Integer, [-1,-1,20]:Integer, [-1,-1,21]:Integer, [-1,-1,22]:Integer, [-1,-1,23]:Integer, [-1,-1,24]:Integer, [-1,-1,25]:Integer, [-1,-1,26]:Integer, [-1,-1,27]:Integer, [-1,-1,28]:Integer, [-1,-1,29]:Integer, [-1,-1,30]:Integer, [-1,-1,31]:Integer, [-1,-1,32]:Integer, [-1,-1,33]:Integer, [-1,-1,34]:Integer, [-1,-1,35]:Integer, [-1,-1,36]:Integer, [-1,-1,37]:Integer, [-1,-1,38]:Integer, [-1,-1,39]:Integer}, intvals: {} %359 = insertvalue [2 x i64] undef, i64 %unbox8, 0, !dbg !409: {[0]:Integer, [1]:Integer, [2]:Integer, [3]:Integer, [4]:Integer, [5]:Integer, [6]:Integer, [7]:Integer, [8]:Anything, [9]:Anything, [10]:Anything, [11]:Anything, [12]:Anything, [13]:Anything, [14]:Anything, [15]:Anything}, intvals: {} %unbox494.elt754 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 0, i32 2, !dbg !409: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox494.unpack755 = load i64, i64 addrspace(11)* %unbox494.elt754, align 8, !dbg !409, !tbaa !224, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %360 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } undef, {} addrspace(10)* %getfield235, 0, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Anything, [9]:Anything, [10]:Anything, [11]:Anything, [12]:Anything, [13]:Anything, [14]:Anything, [15]:Anything, [16]:Anything, [17]:Anything, [18]:Anything, [19]:Anything, [20]:Anything, [21]:Anything, [22]:Anything, [23]:Anything, [24]:Anything, [25]:Anything, [26]:Anything, [27]:Anything, [28]:Anything, [29]:Anything, [30]:Anything, [31]:Anything, [32]:Anything, [33]:Anything, [34]:Anything, [35]:Anything, [36]:Anything, [37]:Anything, [38]:Anything, [39]:Anything, [40]:Anything, [41]:Anything, [42]:Anything, [43]:Anything, [44]:Anything, [45]:Anything, [46]:Anything, [47]:Anything}, intvals: {} %361 = insertvalue [2 x i64] undef, i64 %unbox171, 0, !dbg !777: {[0]:Integer, [1]:Integer, [2]:Integer, [3]:Integer, [4]:Integer, [5]:Integer, [6]:Integer, [7]:Integer, [8]:Anything, [9]:Anything, [10]:Anything, [11]:Anything, [12]:Anything, [13]:Anything, [14]:Anything, [15]:Anything}, intvals: {} %unbox550.unpack733.unpack744 = insertvalue [2 x i64] %361, i64 %unbox170, 1, !dbg !777: {[-1]:Integer}, intvals: {} %362 = insertvalue { [2 x i64], [1 x [1 x i64]] } undef, [2 x i64] %unbox550.unpack733.unpack744, 0, !dbg !777: {[0]:Integer, [1]:Integer, [2]:Integer, [3]:Integer, [4]:Integer, [5]:Integer, [6]:Integer, [7]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [16]:Anything, [17]:Anything, [18]:Anything, [19]:Anything, [20]:Anything, [21]:Anything, [22]:Anything, [23]:Anything}, intvals: {} %unbox550.unpack733.unpack740.unpack746 = insertvalue [1 x i64] undef, i64 %unbox199, 0, !dbg !777: {[-1]:Integer}, intvals: {} %unbox564.unpack706 = load i64, i64 addrspace(11)* %unbox564.elt705, align 8, !dbg !777, !tbaa !224, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %unbox564707 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %369, i64 %unbox564.unpack706, 3, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [16]:Integer, [17]:Integer, [18]:Integer, [19]:Integer, [20]:Integer, [21]:Integer, [22]:Integer, [23]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer, [32]:Integer, [33]:Integer, [34]:Integer, [35]:Integer, [36]:Integer, [37]:Integer, [38]:Integer, [39]:Integer, [40]:Integer, [41]:Integer, [42]:Integer, [43]:Integer, [44]:Integer, [45]:Integer, [46]:Integer, [47]:Integer}, intvals: {} %370 = insertvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } undef, {} addrspace(10)* %getfield261, 0, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Anything, [9]:Anything, [10]:Anything, [11]:Anything, [12]:Anything, [13]:Anything, [14]:Anything, [15]:Anything, [16]:Anything, [17]:Anything, [18]:Anything, [19]:Anything, [20]:Anything, [21]:Anything, [22]:Anything, [23]:Anything, [24]:Anything, [25]:Anything, [26]:Anything, [27]:Anything, [28]:Anything, [29]:Anything, [30]:Anything, [31]:Anything, [32]:Anything, [33]:Anything, [34]:Anything, [35]:Anything, [36]:Anything, [37]:Anything, [38]:Anything, [39]:Anything}, intvals: {} %371 = insertvalue [2 x i64] undef, i64 %unbox179, 0, !dbg !777: {[0]:Integer, [1]:Integer, [2]:Integer, [3]:Integer, [4]:Integer, [5]:Integer, [6]:Integer, [7]:Integer, [8]:Anything, [9]:Anything, [10]:Anything, [11]:Anything, [12]:Anything, [13]:Anything, [14]:Anything, [15]:Anything}, intvals: {} %unbox571.unpack675.unpack684 = insertvalue [2 x i64] %371, i64 %unbox178, 1, !dbg !777: {[-1]:Integer}, intvals: {} %unbox571.unpack675681 = insertvalue [1 x [2 x i64]] undef, [2 x i64] %unbox571.unpack675.unpack684, 0, !dbg !777: {[-1]:Integer}, intvals: {} %372 = insertvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } %370, [1 x [2 x i64]] %unbox571.unpack675681, 1, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [16]:Integer, [17]:Integer, [18]:Integer, [19]:Integer, [20]:Integer, [21]:Integer, [22]:Integer, [23]:Integer, [24]:Anything, [25]:Anything, [26]:Anything, [27]:Anything, [28]:Anything, [29]:Anything, [30]:Anything, [31]:Anything, [32]:Anything, [33]:Anything, [34]:Anything, [35]:Anything, [36]:Anything, [37]:Anything, [38]:Anything, [39]:Anything}, intvals: {} %unbox571.elt676 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 1, i32 2, !dbg !777: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox571.unpack677 = load i64, i64 addrspace(11)* %unbox571.elt676, align 8, !dbg !777, !tbaa !224, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %373 = insertvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } %372, i64 %unbox571.unpack677, 2, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [16]:Integer, [17]:Integer, [18]:Integer, [19]:Integer, [20]:Integer, [21]:Integer, [22]:Integer, [23]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer, [32]:Anything, [33]:Anything, [34]:Anything, [35]:Anything, [36]:Anything, [37]:Anything, [38]:Anything, [39]:Anything}, intvals: {} %227 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* nonnull @ijl_invoke, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043927306144 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043904669504 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020768 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %225, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020736 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %226) #230, !dbg !719: {}, intvals: {} {}* inttoptr (i64 140038516473040 to {}*): {[-1]:Anything}, intvals: {} [1 x [1 x i64]] undef: {[-1]:Anything}, intvals: {} {}* inttoptr (i64 140044074922384 to {}*): {[-1]:Anything}, intvals: {} %365 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } undef, {} addrspace(10)* %getfield248, 0, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Anything, [9]:Anything, [10]:Anything, [11]:Anything, [12]:Anything, [13]:Anything, [14]:Anything, [15]:Anything, [16]:Anything, [17]:Anything, [18]:Anything, [19]:Anything, [20]:Anything, [21]:Anything, [22]:Anything, [23]:Anything, [24]:Anything, [25]:Anything, [26]:Anything, [27]:Anything, [28]:Anything, [29]:Anything, [30]:Anything, [31]:Anything, [32]:Anything, [33]:Anything, [34]:Anything, [35]:Anything, [36]:Anything, [37]:Anything, [38]:Anything, [39]:Anything, [40]:Anything, [41]:Anything, [42]:Anything, [43]:Anything, [44]:Anything, [45]:Anything, [46]:Anything, [47]:Anything}, intvals: {} %366 = insertvalue [2 x i64] undef, i64 %unbox175, 0, !dbg !777: {[0]:Integer, [1]:Integer, [2]:Integer, [3]:Integer, [4]:Integer, [5]:Integer, [6]:Integer, [7]:Integer, [8]:Anything, [9]:Anything, [10]:Anything, [11]:Anything, [12]:Anything, [13]:Anything, [14]:Anything, [15]:Anything}, intvals: {} %unbox564.unpack702.unpack713 = insertvalue [2 x i64] %366, i64 %unbox174, 1, !dbg !777: {[-1]:Integer}, intvals: {} %367 = insertvalue { [2 x i64], [1 x [1 x i64]] } undef, [2 x i64] %unbox564.unpack702.unpack713, 0, !dbg !777: {[0]:Integer, [1]:Integer, [2]:Integer, [3]:Integer, [4]:Integer, [5]:Integer, [6]:Integer, [7]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [16]:Anything, [17]:Anything, [18]:Anything, [19]:Anything, [20]:Anything, [21]:Anything, [22]:Anything, [23]:Anything}, intvals: {} %unbox564.unpack702.unpack709.unpack715 = insertvalue [1 x i64] undef, i64 %unbox198, 0, !dbg !777: {[-1]:Integer}, intvals: {} %unbox564.unpack702.unpack709714 = insertvalue [1 x [1 x i64]] undef, [1 x i64] %unbox564.unpack702.unpack709.unpack715, 0, !dbg !777: {[-1]:Integer}, intvals: {} %unbox564.unpack702710 = insertvalue { [2 x i64], [1 x [1 x i64]] } %367, [1 x [1 x i64]] %unbox564.unpack702.unpack709714, 1, !dbg !777: {[-1]:Integer}, intvals: {} %368 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %365, { [2 x i64], [1 x [1 x i64]] } %unbox564.unpack702710, 1, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [16]:Integer, [17]:Integer, [18]:Integer, [19]:Integer, [20]:Integer, [21]:Integer, [22]:Integer, [23]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer, [32]:Anything, [33]:Anything, [34]:Anything, [35]:Anything, [36]:Anything, [37]:Anything, [38]:Anything, [39]:Anything, [40]:Anything, [41]:Anything, [42]:Anything, [43]:Anything, [44]:Anything, [45]:Anything, [46]:Anything, [47]:Anything}, intvals: {} %unbox564.elt703 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 1, i32 2, !dbg !777: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %369 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %368, i64 %unbox564.unpack704, 2, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [16]:Integer, [17]:Integer, [18]:Integer, [19]:Integer, [20]:Integer, [21]:Integer, [22]:Integer, [23]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer, [32]:Integer, [33]:Integer, [34]:Integer, [35]:Integer, [36]:Integer, [37]:Integer, [38]:Integer, [39]:Integer, [40]:Anything, [41]:Anything, [42]:Anything, [43]:Anything, [44]:Anything, [45]:Anything, [46]:Anything, [47]:Anything}, intvals: {} %unbox564.elt705 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 1, i32 3, !dbg !777: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} float 1.000000e+00: {[-1]:Float@float}, intvals: {} %83 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 0, i32 1, i32 0, i64 0, !dbg !286: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %122 = call noalias nonnull {} addrspace(10)* @ijl_alloc_array_2d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044074922384 to {}*) to {} addrspace(10)*), i64 %.sroa.0882.0, i64 %.sroa.0878.0) #229, !dbg !340: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %62 = bitcast {}*** %11 to {}**: {[-1]:Pointer}, intvals: {} {}* inttoptr (i64 140044015020736 to {}*): {[-1]:Anything}, intvals: {} {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020736 to {}*) to {} addrspace(10)*): {[-1]:Anything}, intvals: {} [2 x i64] undef: {[-1]:Anything}, intvals: {} { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } zeroinitializer: {[-1]:Anything}, intvals: {} { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } undef: {[-1]:Anything}, intvals: {} i32 1: {[-1]:Integer}, intvals: {1,} {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043906479456 to {}*) to {} addrspace(10)*): {[-1]:Anything}, intvals: {} [1 x [2 x i64]] undef: {[-1]:Anything}, intvals: {} i64 undef: {[-1]:Anything}, intvals: {} { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } zeroinitializer: {[-1]:Anything}, intvals: {} i32 3: {[-1]:Integer}, intvals: {3,} { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } undef: {[-1]:Anything}, intvals: {} { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } addrspace(11)* null: {[-1]:Pointer, [-1,-1]:Anything}, intvals: {0,} i64 9223372036854775807: {[-1]:Anything}, intvals: {9223372036854775807,} { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(11)* null: {[-1]:Pointer, [-1,-1]:Anything}, intvals: {0,} float 0.000000e+00: {[-1]:Anything}, intvals: {} { [2 x i64], [1 x [1 x i64]] } undef: {[-1]:Anything}, intvals: {} i64 48: {[-1]:Integer}, intvals: {48,} {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038977780880 to {}*) to {} addrspace(10)*): {[-1]:Anything}, intvals: {} [1 x i64] undef: {[-1]:Anything}, intvals: {} i32 2: {[-1]:Integer}, intvals: {2,} [2 x i64] [i64 1, i64 undef]: {[-1]:Anything}, intvals: {} {}* inttoptr (i64 140043906479456 to {}*): {[-1]:Anything}, intvals: {} i64 0: {[-1]:Anything}, intvals: {0,} {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044074922384 to {}*) to {} addrspace(10)*): {[-1]:Anything}, intvals: {} {}* inttoptr (i64 140043927306144 to {}*): {[-1]:Anything}, intvals: {} i64 8: {[-1]:Integer}, intvals: {8,} %unbox571.elt678 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 1, i32 3, !dbg !777: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox571.unpack679 = load i64, i64 addrspace(11)* %unbox571.elt678, align 8, !dbg !777, !tbaa !224, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %unbox571680 = insertvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } %373, i64 %unbox571.unpack679, 3, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [16]:Integer, [17]:Integer, [18]:Integer, [19]:Integer, [20]:Integer, [21]:Integer, [22]:Integer, [23]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer, [32]:Integer, [33]:Integer, [34]:Integer, [35]:Integer, [36]:Integer, [37]:Integer, [38]:Integer, [39]:Integer}, intvals: {} %70 = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) i8* @malloc(i64 16), !enzyme_fromstack !219: {[-1]:Pointer, [-1,-1]:Integer}, intvals: {} %207 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 1, i32 1, i32 0, i64 0, !dbg !677: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %208 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 1, i32 1, i32 0, i64 1, !dbg !689: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox170 = load i64, i64 addrspace(11)* %208, align 8, !dbg !691, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %unbox171 = load i64, i64 addrspace(11)* %207, align 8, !dbg !691, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %210 = sub i64 %209, %unbox171, !dbg !693: {[-1]:Integer}, intvals: {} %211 = call i64 @llvm.smax.i64(i64 %210, i64 0) #228, !dbg !694: {[-1]:Integer}, intvals: {} %212 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 1, i32 1, i32 0, i64 0, !dbg !699: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %213 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 1, i32 1, i32 0, i64 1, !dbg !706: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox174 = load i64, i64 addrspace(11)* %213, align 8, !dbg !708, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} float 4.000000e+01: {[-1]:Float@float}, intvals: {} %73 = bitcast {}*** %ptls_field574 to i64***: {[-1]:Pointer, [-1,0]:Pointer}, intvals: {} %ptls_load575576 = load i64**, i64*** %73, align 8, !tbaa !220: {[-1]:Pointer}, intvals: {} %safepoint = load i64*, i64** %74, align 8, !tbaa !224, !invariant.load !218: {}, intvals: {} %76 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 0, !dbg !227: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer, [-1,41]:Integer, [-1,42]:Integer, [-1,43]:Integer, [-1,44]:Integer, [-1,45]:Integer, [-1,46]:Integer, [-1,47]:Integer}, intvals: {} %77 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 0, !dbg !227: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %85 = add i64 %unbox3, 1, !dbg !295: {[-1]:Integer}, intvals: {} %unbox = load i64, i64 addrspace(11)* %79, align 8, !dbg !261, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %unbox2 = load i64, i64 addrspace(11)* %78, align 8, !dbg !261, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %80 = add i64 %unbox, 1, !dbg !261: {[-1]:Integer}, intvals: {} %81 = sub i64 %80, %unbox2, !dbg !273: {[-1]:Integer}, intvals: {} %143 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %40, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !409: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %82 = call i64 @llvm.smax.i64(i64 %81, i64 0) #228, !dbg !275: {[-1]:Integer}, intvals: {} %unbox3 = load i64, i64 addrspace(11)* %84, align 8, !dbg !295, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} {}* inttoptr (i64 140038479368720 to {}*): {[-1]:Anything}, intvals: {} i64 1: {[-1]:Integer}, intvals: {1,} %.sroa.0878.0 = phi i64 [ %unbox26, %L88 ], [ %unbox27, %L105 ]: {[-1]:Integer}, intvals: {} %187 = fcmp ult float %183, 0.000000e+00, !dbg !634: {[-1]:Integer}, intvals: {} %123 = addrspacecast {} addrspace(10)* %122 to {} addrspace(10)* addrspace(11)*, !dbg !354: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %arraysize_ptr = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %123, i64 3, !dbg !354: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer}, intvals: {} %124 = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr to i64 addrspace(11)*, !dbg !354: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer}, intvals: {} %arraysize = load i64, i64 addrspace(11)* %124, align 8, !dbg !354, !tbaa !224, !range !362, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %arraysize_ptr391.phi.trans.insert = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %123, i64 4: {}, intvals: {} %.not577 = icmp eq i64 %arraysize, %.sroa.0882.0, !dbg !363: {[-1]:Integer}, intvals: {} %.phi.trans.insert = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr391.phi.trans.insert to i64 addrspace(11)*: {}, intvals: {} %arraysize392.pre = load i64, i64 addrspace(11)* %.phi.trans.insert, align 8, !dbg !354, !tbaa !224, !range !362, !invariant.load !218, !alias.scope !265, !noalias !268: {}, intvals: {} %arraysize_ptr46 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %123, i64 4, !dbg !354: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} i64 -1: {[-1]:Anything}, intvals: {-1,} {}* inttoptr (i64 140038977780880 to {}*): {[-1]:Anything}, intvals: {} i32 0: {[-1]:Anything}, intvals: {0,} {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043927306144 to {}*) to {} addrspace(10)*): {[-1]:Anything}, intvals: {} {}* inttoptr (i64 140043904669504 to {}*): {[-1]:Anything}, intvals: {} %236 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* nonnull @ijl_invoke, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043927306144 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043904669504 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020768 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %234, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020736 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %235) #230, !dbg !726: {}, intvals: {} {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043904669504 to {}*) to {} addrspace(10)*): {[-1]:Anything}, intvals: {} {}* inttoptr (i64 140044015020768 to {}*): {[-1]:Anything}, intvals: {} {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020768 to {}*) to {} addrspace(10)*): {[-1]:Anything}, intvals: {} float -8.000000e+01: {[-1]:Float@float}, intvals: {} {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038479368720 to {}*) to {} addrspace(10)*): {[-1]:Anything}, intvals: {} %memcpy_refined_dst31 = getelementptr inbounds [2 x [1 x i64]], [2 x [1 x i64]]* %newstruct29, i64 0, i64 1, i64 0, !dbg !327: {[-1]:Pointer, [-1,-1]:Integer}, intvals: {} %getfield_addr = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 0, i32 0, !dbg !395: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer}, intvals: {} %97 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %92) #229, !dbg !309: {}, intvals: {} %334 = select i1 %.not651, i64 1, i64 %iv.next6, !dbg !927: {[-1]:Integer}, intvals: {} %335 = add i64 %318, %334, !dbg !932: {[-1]:Integer}, intvals: {} %336 = getelementptr inbounds float, float addrspace(13)* %arrayptr333668, i64 %335, !dbg !932: {[-1]:Pointer, [-1,0]:Float@float}, intvals: {} %arrayref334 = load float, float addrspace(13)* %336, align 4, !dbg !932, !tbaa !591, !alias.scope !319, !noalias !593: {[-1]:Float@float}, intvals: {} %337 = fadd float %arrayref309, %arrayref326, !dbg !936: {[-1]:Float@float}, intvals: {} %338 = fadd float %337, %arrayref334, !dbg !936: {[-1]:Float@float}, intvals: {} %339 = call float @llvm.fabs.f32(float %338) #228, !dbg !940: {[-1]:Float@float}, intvals: {} %340 = fneg fast float %339, !dbg !945: {[-1]:Float@float}, intvals: {} %341 = call fastcc float @julia_exp_fast_2449(float %340) #234, !dbg !942: {[-1]:Float@float}, intvals: {} %342 = fcmp ult float %338, 0.000000e+00, !dbg !946: {[-1]:Integer}, intvals: {} %343 = fadd float %341, 1.000000e+00, !dbg !950: {[-1]:Float@float}, intvals: {} %.v = select i1 %342, float %341, float 1.000000e+00, !dbg !952: {[-1]:Float@float}, intvals: {} %344 = fdiv float %.v, %343, !dbg !952: {[-1]:Float@float}, intvals: {} %345 = fcmp ule float %338, 4.000000e+01, !dbg !953: {[-1]:Integer}, intvals: {} %346 = fcmp uge float %338, -8.000000e+01, !dbg !957: {[-1]:Integer}, intvals: {} %347 = select i1 %346, float %344, float 0.000000e+00, !dbg !959: {[-1]:Float@float}, intvals: {} %348 = select i1 %345, float %347, float 1.000000e+00, !dbg !959: {[-1]:Float@float}, intvals: {} %349 = add i64 %iv5, %325, !dbg !960: {[-1]:Integer}, intvals: {0,} %arrayptr342669 = load float addrspace(13)*, float addrspace(13)* addrspace(11)* %320, align 8, !dbg !960, !tbaa !224, !invariant.load !218, !alias.scope !559, !noalias !268, !nonnull !218: {[-1]:Pointer, [-1,-1]:Float@float}, intvals: {} %350 = getelementptr inbounds float, float addrspace(13)* %arrayptr342669, i64 %349, !dbg !960: {[-1]:Pointer, [-1,-1]:Float@float}, intvals: {} %exitcond.not = icmp eq i64 %iv.next6, %.sroa.0852.0, !dbg !962: {[-1]:Integer}, intvals: {} %351 = add nuw i64 %iv.next4, 1, !dbg !964: {[-1]:Integer}, intvals: {2,} %352 = icmp ult i64 %iv.next4, 9223372036854775807, !dbg !968: {[-1]:Integer}, intvals: {} %353 = icmp sle i64 %351, %.sroa.0848.0, !dbg !968: {[-1]:Integer}, intvals: {} %.not830 = and i1 %352, %353, !dbg !971: {[-1]:Integer}, intvals: {} %354 = icmp ne i64 %iv.next4, %.sroa.0848.0: {[-1]:Integer}, intvals: {} %95 = icmp eq i64 %92, 1, !dbg !307: {[-1]:Integer}, intvals: {} %current_task418 = bitcast {}*** %current_task418827 to {}**, !dbg !309: {}, intvals: {} %99 = bitcast {} addrspace(10)* %box419 to [1 x {} addrspace(10)*] addrspace(10)*, !dbg !309: {}, intvals: {} %100 = getelementptr [1 x {} addrspace(10)*], [1 x {} addrspace(10)*] addrspace(10)* %99, i64 0, i64 0, !dbg !309: {}, intvals: {} %101 = addrspacecast {} addrspace(10)* %box419 to {} addrspace(12)*, !dbg !309: {}, intvals: {} %.sroa.0886.0 = phi i64 [ %92, %top ], [ %87, %L43 ]: {[-1]:Integer}, intvals: {} %102 = icmp eq i64 %.sroa.0886.0, %82, !dbg !323: {[-1]:Integer}, intvals: {} %103 = icmp eq i64 %82, 1, !dbg !325: {[-1]:Integer}, intvals: {} %value_phi20.in = or i1 %103, %102, !dbg !325: {[-1]:Integer}, intvals: {} %104 = icmp eq i64 %.sroa.0886.0, 1, !dbg !325: {[-1]:Integer}, intvals: {} %unbox26 = load i64, i64 addrspace(11)* %111, align 8, !dbg !335, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %arrayptr333668 = load float addrspace(13)*, float addrspace(13)* addrspace(11)* %319, align 8, !tbaa !497, !alias.scope !560, !noalias !501, !nonnull !218: {[-1]:Pointer}, intvals: {} %325 = mul i64 %value_phi286.op, %.sroa.0852.0: {[-1]:Integer}, intvals: {0,} %326 = add i64 %309, %322: {[-1]:Integer}, intvals: {} %327 = add i64 %314, %324: {[-1]:Integer}, intvals: {} %328 = select i1 %.not632, i64 0, i64 %iv5, !dbg !903: {[-1]:Integer}, intvals: {} %329 = add i64 %326, %328, !dbg !917: {[-1]:Integer}, intvals: {} %arrayref309 = load float, float addrspace(13)* %330, align 4, !dbg !917, !tbaa !591, !alias.scope !319, !noalias !593: {[-1]:Float@float}, intvals: {} %331 = select i1 %.not641, i64 0, i64 %iv5, !dbg !918: {[-1]:Integer}, intvals: {} %332 = add i64 %327, %331, !dbg !926: {[-1]:Integer}, intvals: {} %333 = getelementptr inbounds float, float addrspace(13)* %arrayptr325667, i64 %332, !dbg !926: {[-1]:Pointer, [-1,0]:Float@float}, intvals: {} %arrayref326 = load float, float addrspace(13)* %333, align 4, !dbg !926, !tbaa !591, !alias.scope !319, !noalias !593: {[-1]:Float@float}, intvals: {} %295 = call noalias nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038977780880 to {}*) to {} addrspace(10)*), i64 %220) #229, !dbg !857: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} call fastcc void @julia_copyto__2405({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %295, { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(40) %206) #228, !dbg !861: {}, intvals: {} %value_phi269 = select i1 %.not643, i64 0, i64 %220, !dbg !864: {}, intvals: {} %296 = insertvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } zeroinitializer, {} addrspace(10)* %295, 0, !dbg !872: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Anything, [9]:Anything, [10]:Anything, [11]:Anything, [12]:Anything, [13]:Anything, [14]:Anything, [15]:Anything, [16]:Anything, [17]:Anything, [18]:Anything, [19]:Anything, [20]:Anything, [21]:Anything, [22]:Anything, [23]:Anything, [24]:Anything, [25]:Anything, [26]:Anything, [27]:Anything, [28]:Anything, [29]:Anything, [30]:Anything, [31]:Anything, [32]:Anything, [33]:Anything, [34]:Anything, [35]:Anything, [36]:Anything, [37]:Anything, [38]:Anything, [39]:Anything}, intvals: {} %unbox273.unpack647 = insertvalue [2 x i64] [i64 1, i64 undef], i64 %value_phi269, 1, !dbg !872: {[0]:Anything, [1]:Anything, [2]:Anything, [3]:Anything, [4]:Anything, [5]:Anything, [6]:Anything, [7]:Anything}, intvals: {} %unbox273644 = insertvalue [1 x [2 x i64]] undef, [2 x i64] %unbox273.unpack647, 0, !dbg !872: {[0]:Anything, [1]:Anything, [2]:Anything, [3]:Anything, [4]:Anything, [5]:Anything, [6]:Anything, [7]:Anything}, intvals: {} %297 = insertvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } %296, [1 x [2 x i64]] %unbox273644, 1, !dbg !872: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Anything, [9]:Anything, [10]:Anything, [11]:Anything, [12]:Anything, [13]:Anything, [14]:Anything, [15]:Anything, [24]:Anything, [25]:Anything, [26]:Anything, [27]:Anything, [28]:Anything, [29]:Anything, [30]:Anything, [31]:Anything, [32]:Anything, [33]:Anything, [34]:Anything, [35]:Anything, [36]:Anything, [37]:Anything, [38]:Anything, [39]:Anything}, intvals: {} %298 = insertvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } %297, i64 0, 2, !dbg !872: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Anything, [9]:Anything, [10]:Anything, [11]:Anything, [12]:Anything, [13]:Anything, [14]:Anything, [15]:Anything, [24]:Anything, [25]:Anything, [26]:Anything, [27]:Anything, [28]:Anything, [29]:Anything, [30]:Anything, [31]:Anything, [32]:Anything, [33]:Anything, [34]:Anything, [35]:Anything, [36]:Anything, [37]:Anything, [38]:Anything, [39]:Anything}, intvals: {} %299 = insertvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } %298, i64 1, 3, !dbg !872: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Anything, [9]:Anything, [10]:Anything, [11]:Anything, [12]:Anything, [13]:Anything, [14]:Anything, [15]:Anything, [24]:Anything, [25]:Anything, [26]:Anything, [27]:Anything, [28]:Anything, [29]:Anything, [30]:Anything, [31]:Anything, [32]:Integer, [33]:Integer, [34]:Integer, [35]:Integer, [36]:Integer, [37]:Integer, [38]:Integer, [39]:Integer}, intvals: {} %.not673 = icmp eq { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } addrspace(11)* %206, null, !dbg !777: {[-1]:Integer}, intvals: {} %or.cond832 = and i1 %354, %.not830, !dbg !971: {[-1]:Integer}, intvals: {} %arraysize361 = phi i64 [ %arraysize361.pre, %L786.L1199_crit_edge ], [ %arraysize228, %L798 ], !dbg !744: {}, intvals: {} %355 = getelementptr inbounds [2 x [1 x i64]], [2 x [1 x i64]]* %newstruct366, i64 0, i64 0, i64 0, !dbg !972: {}, intvals: {} %356 = getelementptr inbounds [2 x [1 x i64]], [2 x [1 x i64]]* %newstruct366, i64 0, i64 1, i64 0, !dbg !972: {}, intvals: {} %357 = addrspacecast [2 x [1 x i64]]* %newstruct366 to [2 x [1 x i64]] addrspace(11)*, !dbg !746: {}, intvals: {} %358 = addrspacecast [2 x [1 x i64]]* %newstruct201 to [2 x [1 x i64]] addrspace(11)*, !dbg !746: {}, intvals: {} %.repack = getelementptr inbounds [2 x {} addrspace(10)*], [2 x {} addrspace(10)*]* %0, i64 0, i64 0, !dbg !976: {[-1]:Pointer, [-1,-1]:Pointer, [-1,-1,0]:Pointer, [-1,-1,0,-1]:Float@float, [-1,-1,8]:Integer, [-1,-1,9]:Integer, [-1,-1,10]:Integer, [-1,-1,11]:Integer, [-1,-1,12]:Integer, [-1,-1,13]:Integer, [-1,-1,14]:Integer, [-1,-1,15]:Integer, [-1,-1,16]:Integer, [-1,-1,17]:Integer, [-1,-1,18]:Integer, [-1,-1,19]:Integer, [-1,-1,20]:Integer, [-1,-1,21]:Integer, [-1,-1,22]:Integer, [-1,-1,23]:Integer, [-1,-1,24]:Integer, [-1,-1,25]:Integer, [-1,-1,26]:Integer, [-1,-1,27]:Integer, [-1,-1,28]:Integer, [-1,-1,29]:Integer, [-1,-1,30]:Integer, [-1,-1,31]:Integer, [-1,-1,32]:Integer, [-1,-1,33]:Integer, [-1,-1,34]:Integer, [-1,-1,35]:Integer, [-1,-1,36]:Integer, [-1,-1,37]:Integer, [-1,-1,38]:Integer, [-1,-1,39]:Integer}, intvals: {} %111 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !329: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox4 = load i64, i64 addrspace(11)* %83, align 8, !dbg !295, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %86 = sub i64 %85, %unbox4, !dbg !297: {[-1]:Integer}, intvals: {} %87 = call i64 @llvm.smax.i64(i64 %86, i64 noundef 0) #228, !dbg !298: {[-1]:Integer}, intvals: {} %unbox7 = load i64, i64 addrspace(11)* %89, align 8, !dbg !295, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %unbox8 = load i64, i64 addrspace(11)* %88, align 8, !dbg !295, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %90 = sub i64 %unbox7, %unbox8, !dbg !295: {[-1]:Integer}, intvals: {} %91 = add i64 %90, 1, !dbg !297: {[-1]:Integer}, intvals: {} %92 = call i64 @llvm.smax.i64(i64 %91, i64 noundef 0) #228, !dbg !298: {[-1]:Integer}, intvals: {} %93 = icmp eq i64 %92, %87, !dbg !303: {[-1]:Integer}, intvals: {} %94 = icmp eq i64 %87, 1, !dbg !307: {[-1]:Integer}, intvals: {} %value_phi.in = or i1 %94, %93, !dbg !307: {[-1]:Integer}, intvals: {} %78 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 0, i32 1, i32 0, i64 0, !dbg !231: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %current_task418827 = getelementptr inbounds {}**, {}*** %72, i64 -14, !dbg !309: {}, intvals: {} %96 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %87) #229, !dbg !309: {}, intvals: {} %20 = bitcast {}*** %8 to {}**: {[-1]:Pointer}, intvals: {} %.not823 = icmp eq i64 %arraysize47, %.sroa.0878.0, !dbg !370: {[-1]:Integer}, intvals: {} %105 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %82) #229, !dbg !326: {}, intvals: {} %106 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %.sroa.0886.0) #229, !dbg !326: {}, intvals: {} %current_task413826 = getelementptr inbounds {}**, {}*** %72, i64 -14, !dbg !326: {}, intvals: {} %current_task413 = bitcast {}*** %current_task413826 to {}**, !dbg !326: {}, intvals: {} %108 = bitcast {} addrspace(10)* %box414 to [1 x {} addrspace(10)*] addrspace(10)*, !dbg !326: {}, intvals: {} %109 = getelementptr [1 x {} addrspace(10)*], [1 x {} addrspace(10)*] addrspace(10)* %108, i64 0, i64 0, !dbg !326: {}, intvals: {} %110 = addrspacecast {} addrspace(10)* %box414 to {} addrspace(12)*, !dbg !326: {}, intvals: {} %.sroa.0882.0 = phi i64 [ %.sroa.0886.0, %L55 ], [ %82, %L76 ]: {[-1]:Integer}, intvals: {} %unbox27 = load i64, i64 addrspace(11)* %112, align 8, !dbg !335: {[-1]:Integer}, intvals: {} %113 = icmp eq i64 %unbox26, %unbox27, !dbg !335: {[-1]:Integer}, intvals: {} %114 = icmp eq i64 %unbox27, 1, !dbg !332: {[-1]:Integer}, intvals: {} %value_phi28.in = or i1 %113, %114, !dbg !332: {[-1]:Integer}, intvals: {} %115 = icmp eq i64 %unbox26, 1, !dbg !332: {[-1]:Integer}, intvals: {} %116 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %unbox27) #229, !dbg !333: {}, intvals: {} %117 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %unbox26) #229, !dbg !333: {}, intvals: {} %current_task406825 = getelementptr inbounds {}**, {}*** %72, i64 -14, !dbg !333: {}, intvals: {} %current_task406 = bitcast {}*** %current_task406825 to {}**, !dbg !333: {}, intvals: {} %119 = bitcast {} addrspace(10)* %box407 to [1 x {} addrspace(10)*] addrspace(10)*, !dbg !333: {}, intvals: {} %120 = getelementptr [1 x {} addrspace(10)*], [1 x {} addrspace(10)*] addrspace(10)* %119, i64 0, i64 0, !dbg !333: {}, intvals: {} %121 = addrspacecast {} addrspace(10)* %box407 to {} addrspace(12)*, !dbg !333: {}, intvals: {} %150 = call noalias nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038977780880 to {}*) to {} addrspace(10)*), i64 %91) #229, !dbg !505: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} call fastcc void @julia_copyto__2405({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %150, { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(120) %77) #228, !dbg !510: {}, intvals: {} %.not595 = icmp ugt i64 %90, 9223372036854775806, !dbg !511: {[-1]:Integer}, intvals: {} %value_phi85 = select i1 %.not595, i64 0, i64 %91, !dbg !515: {}, intvals: {} %.pn918 = phi {} addrspace(10)* [ %150, %L276 ], [ %getfield77, %guard_pass492 ]: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %.pn920 = phi [2 x i64] [ [i64 1, i64 undef], %L276 ], [ %359, %guard_pass492 ]: {}, intvals: {} %125 = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr46 to i64 addrspace(11)*, !dbg !354: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %arraysize47 = load i64, i64 addrspace(11)* %125, align 8, !dbg !354, !tbaa !224, !range !362, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %127 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %126) #233, !dbg !374: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %memcpy_refined_dst = getelementptr inbounds [2 x [1 x i64]], [2 x [1 x i64]]* %newstruct29, i64 0, i64 0, i64 0, !dbg !327: {[-1]:Pointer, [-1,-1]:Integer}, intvals: {} %arraysize392 = phi i64 [ %arraysize392.pre, %L180.L593_crit_edge ], [ %arraysize47, %L192 ], !dbg !354: {}, intvals: {} %200 = getelementptr inbounds [2 x [1 x i64]], [2 x [1 x i64]]* %newstruct397, i64 0, i64 0, i64 0, !dbg !671: {}, intvals: {} %201 = getelementptr inbounds [2 x [1 x i64]], [2 x [1 x i64]]* %newstruct397, i64 0, i64 1, i64 0, !dbg !671: {}, intvals: {} %202 = addrspacecast [2 x [1 x i64]]* %newstruct397 to [2 x [1 x i64]] addrspace(11)*, !dbg !359: {}, intvals: {} %203 = addrspacecast [2 x [1 x i64]]* %newstruct29 to [2 x [1 x i64]] addrspace(11)*, !dbg !359: {}, intvals: {} %204 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 1, !dbg !675: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer, [-1,41]:Integer, [-1,42]:Integer, [-1,43]:Integer, [-1,44]:Integer, [-1,45]:Integer, [-1,46]:Integer, [-1,47]:Integer}, intvals: {} %205 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 1, !dbg !675: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer, [-1,41]:Integer, [-1,42]:Integer, [-1,43]:Integer, [-1,44]:Integer, [-1,45]:Integer, [-1,46]:Integer, [-1,47]:Integer}, intvals: {} %206 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 1, !dbg !675: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %209 = add i64 %unbox170, 1, !dbg !691: {[-1]:Integer}, intvals: {} call fastcc void @julia_unaliascopy_2418({ {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }* noalias nocapture nofree noundef nonnull writeonly sret({ {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }) align 8 dereferenceable(48) %132, [1 x {} addrspace(10)*]* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(8) "enzymejl_returnRoots" %133, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(144) %75) #228, !dbg !383: {}, intvals: {} %unbox466.unpack = load {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %unbox466.elt, align 8, !dbg !409, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %unbox480.unpack764.unpack.elt = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %40, i64 0, i32 1, i32 0, i64 0, !dbg !409: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox466.unpack794.unpack.unpack = load i64, i64 addrspace(10)* %unbox466.unpack794.unpack.elt, align 8, !dbg !409, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Integer}, intvals: {} %unbox480.unpack764.unpack.elt773 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %40, i64 0, i32 1, i32 0, i64 1, !dbg !409: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox466.unpack794.unpack.unpack804 = load i64, i64 addrspace(10)* %unbox466.unpack794.unpack.elt803, align 8, !dbg !409, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Integer}, intvals: {} %unbox466.unpack794.unpack801.unpack.unpack = load i64, i64 addrspace(10)* %134, align 8, !dbg !409, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Integer}, intvals: {} %unbox466.unpack.pn = phi {} addrspace(10)* [ %unbox466.unpack, %L212 ], [ %getfield51, %L203 ]: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %unbox466.unpack794.unpack.unpack.pn = phi i64 [ %unbox466.unpack794.unpack.unpack, %L212 ], [ %unbox2, %L203 ]: {[-1]:Integer}, intvals: {} %unbox466.unpack794.unpack.unpack804.pn = phi i64 [ %unbox466.unpack794.unpack.unpack804, %L212 ], [ %unbox, %L203 ]: {[-1]:Integer}, intvals: {} %unbox466.unpack794.unpack801.unpack.unpack.pn = phi i64 [ %unbox466.unpack794.unpack801.unpack.unpack, %L212 ], [ %unbox27, %L203 ]: {[-1]:Integer}, intvals: {} %170 = mul i64 %value_phi102.op, %.sroa.0882.0: {[-1]:Integer}, intvals: {0,} %171 = add i64 %157, %167: {[-1]:Integer}, intvals: {} %172 = add i64 %161, %169: {[-1]:Integer}, intvals: {} %iv3 = phi i64 [ %iv.next4, %L1175 ], [ 0, %L953.preheader ]: {[-1]:Integer}, intvals: {0,} %iv.next4 = add nuw nsw i64 %iv3, 1, !dbg !898: {[-1]:Integer}, intvals: {1,} %arrayref = load float, float addrspace(13)* %175, align 4, !dbg !589, !tbaa !591, !alias.scope !319, !noalias !593: {[-1]:Float@float}, intvals: {} %176 = select i1 %.not593, i64 0, i64 %iv1, !dbg !594: {[-1]:Integer}, intvals: {} %arrayref139 = load float, float addrspace(13)* %178, align 4, !dbg !602, !tbaa !591, !alias.scope !319, !noalias !593: {[-1]:Float@float}, intvals: {} %177 = add i64 %172, %176, !dbg !602: {[-1]:Integer}, intvals: {} %178 = getelementptr inbounds float, float addrspace(13)* %arrayptr138619, i64 %177, !dbg !602: {[-1]:Pointer, [-1,-1]:Float@float}, intvals: {} %179 = select i1 %.not603, i64 1, i64 %iv.next2, !dbg !603: {[-1]:Integer}, intvals: {} %126 = addrspacecast {} addrspace(10)* %122 to {} addrspace(11)*, !dbg !374: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %128 = bitcast {}* %127 to i8**, !dbg !374: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %arrayptr = load i8*, i8** %128, align 8, !dbg !374, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268, !nonnull !218: {[-1]:Pointer, [-1,-1]:Float@float}, intvals: {} %130 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %129) #233, !dbg !400: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %getfield51 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %getfield_addr unordered, align 8, !dbg !395, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268, !nonnull !218, !dereferenceable !398, !align !399: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %129 = addrspacecast {} addrspace(10)* %getfield51 to {} addrspace(11)*, !dbg !400: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %131 = bitcast {}* %130 to i8**, !dbg !400: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %arrayptr53 = load i8*, i8** %131, align 8, !dbg !400, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268, !nonnull !218: {[-1]:Pointer, [-1,-1]:Float@float}, intvals: {} %139 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %138) #233, !dbg !460: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %.not578.not = icmp eq i8* %arrayptr, %arrayptr53, !dbg !403: {[-1]:Integer}, intvals: {} %230 = addrspacecast {} addrspace(10)* %box386 to {} addrspace(12)*, !dbg !719: {}, intvals: {} %.sroa.0856.0 = phi i64 [ %221, %L607 ], [ %216, %L649 ], !dbg !722: {[-1]:Integer}, intvals: {} %231 = icmp eq i64 %.sroa.0856.0, %211, !dbg !723: {[-1]:Integer}, intvals: {} %232 = icmp eq i64 %211, 1, !dbg !725: {[-1]:Integer}, intvals: {} %value_phi192.in = or i1 %232, %231, !dbg !725: {[-1]:Integer}, intvals: {} %233 = icmp eq i64 %.sroa.0856.0, 1, !dbg !725: {[-1]:Integer}, intvals: {} %234 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %211) #229, !dbg !726: {}, intvals: {} %235 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %.sroa.0856.0) #229, !dbg !726: {}, intvals: {} %.not594.not = icmp eq i8* %arrayptr, %arrayptr79, !dbg !502: {[-1]:Integer}, intvals: {} %value_phi85.pn = phi i64 [ %value_phi85, %L276 ], [ %unbox7, %guard_pass492 ]: {[-1]:Integer}, intvals: {} %.pn915 = phi i64 [ 0, %L276 ], [ %unbox494.unpack755, %guard_pass492 ]: {[-1]:Integer}, intvals: {0,} %.elt600 = extractvalue [2 x i64] %.pn920, 0, !dbg !529: {}, intvals: {} %151 = sub i64 1, %.elt600, !dbg !533: {}, intvals: {} %152 = add i64 %151, %value_phi85.pn, !dbg !537: {}, intvals: {} %153 = call i64 @llvm.smax.i64(i64 %152, i64 0) #228, !dbg !538: {[-1]:Integer}, intvals: {} %.not603 = icmp eq i64 %153, 1, !dbg !543: {[-1]:Integer}, intvals: {} %.not = icmp eq i64 %.sroa.0878.0, 0, !dbg !547: {[-1]:Integer}, intvals: {} %154 = icmp eq i64 %.sroa.0882.0, 0: {[-1]:Integer}, intvals: {} %155 = addrspacecast {} addrspace(10)* %unbox466.unpack.pn to {} addrspace(10)* addrspace(11)*: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %156 = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr119 to i64 addrspace(11)*: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer}, intvals: {} %unbox480.unpack764.unpack.unpack.pn = phi i64 [ %unbox480.unpack764.unpack.unpack, %L244 ], [ %unbox4, %L217 ]: {[-1]:Integer}, intvals: {} %unbox480.unpack764.unpack.unpack774.pn = phi i64 [ %unbox480.unpack764.unpack.unpack774, %L244 ], [ %unbox3, %L217 ]: {[-1]:Integer}, intvals: {} %unbox480.unpack764.unpack771.unpack.unpack.pn = phi i64 [ %unbox480.unpack764.unpack771.unpack.unpack, %L244 ], [ %unbox26, %L217 ]: {[-1]:Integer}, intvals: {} %144 = sub i64 1, %unbox480.unpack764.unpack.unpack.pn, !dbg !466: {[-1]:Integer}, intvals: {} %145 = add i64 %144, %unbox480.unpack764.unpack.unpack774.pn, !dbg !473: {[-1]:Integer}, intvals: {} %146 = call i64 @llvm.smax.i64(i64 %145, i64 0) #228, !dbg !474: {[-1]:Integer}, intvals: {} %.not592 = icmp eq i64 %unbox480.unpack764.unpack771.unpack.unpack.pn, 1, !dbg !479: {[-1]:Integer}, intvals: {} %.not593 = icmp eq i64 %146, 1, !dbg !484: {[-1]:Integer}, intvals: {} %getfield_addr76 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 0, i32 0, !dbg !487: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer}, intvals: {} %getfield77 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %getfield_addr76 unordered, align 8, !dbg !487, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268, !nonnull !218, !dereferenceable !398, !align !399: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %147 = addrspacecast {} addrspace(10)* %getfield77 to {} addrspace(11)*, !dbg !494: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %149 = bitcast {}* %148 to i8**, !dbg !494: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %arrayptr79 = load i8*, i8** %149, align 8, !dbg !494, !tbaa !497, !alias.scope !500, !noalias !501, !nonnull !218: {[-1]:Pointer, [-1,-1]:Float@float}, intvals: {} %box419 = call noalias nonnull dereferenceable(8) "enzyme_inactive" {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task418, i64 noundef 8, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 140043906479456 to {}*) to {} addrspace(10)*)) #231, !dbg !309: {[-1,-1]:Pointer}, intvals: {} %newstruct201 = bitcast i8* %12 to [2 x [1 x i64]]*, !enzyme_caststack !218: {[-1]:Pointer, [-1,-1]:Integer}, intvals: {} %13 = bitcast {}*** %7 to {}**: {[-1]:Pointer}, intvals: {} %27 = bitcast {}*** %6 to {}**: {[-1]:Pointer}, intvals: {} %41 = bitcast {}*** %5 to {}**: {[-1]:Pointer}, intvals: {} %55 = bitcast {}*** %4 to {}**: {[-1]:Pointer}, intvals: {} %newstruct366 = bitcast i8* %69 to [2 x [1 x i64]]*, !enzyme_caststack !218: {[-1]:Pointer}, intvals: {} %newstruct397 = bitcast i8* %71 to [2 x [1 x i64]]*, !enzyme_caststack !218: {[-1]:Pointer}, intvals: {} %173 = select i1 %.not584, i64 0, i64 %iv1, !dbg !566: {[-1]:Integer}, intvals: {} %174 = add i64 %171, %173, !dbg !589: {[-1]:Integer}, intvals: {} %arraysize_ptr119 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %155, i64 3: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer}, intvals: {} %157 = add i64 %unbox466.unpack794.unpack.unpack.pn, -1: {[-1]:Integer}, intvals: {} %158 = addrspacecast {} addrspace(10)* %unbox466.unpack.pn to float addrspace(13)* addrspace(11)*: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %159 = addrspacecast {} addrspace(10)* %unbox480.unpack.pn to {} addrspace(10)* addrspace(11)*: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %arraysize_ptr134 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %159, i64 3: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer}, intvals: {} %160 = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr134 to i64 addrspace(11)*: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer}, intvals: {} %161 = add i64 %unbox480.unpack764.unpack.unpack.pn, -1: {[-1]:Integer}, intvals: {} %162 = addrspacecast {} addrspace(10)* %unbox480.unpack.pn to float addrspace(13)* addrspace(11)*: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %163 = add i64 %.pn915, -1: {[-1]:Integer}, intvals: {-1,} %164 = addrspacecast {} addrspace(10)* %.pn918 to float addrspace(13)* addrspace(11)*: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %165 = addrspacecast {} addrspace(10)* %122 to float addrspace(13)* addrspace(11)*: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %iv5 = phi i64 [ %iv.next6, %L962 ], [ 0, %L962.lr.ph ]: {[-1]:Integer}, intvals: {0,} %arraysize120 = load i64, i64 addrspace(11)* %156, align 8, !tbaa !224, !range !362, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %84 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 0, i32 1, i32 0, i64 1, !dbg !293: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} call fastcc void @julia_unaliascopy_2418({ {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }* noalias nocapture nofree noundef nonnull writeonly sret({ {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }) align 8 dereferenceable(48) %141, [1 x {} addrspace(10)*]* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(8) "enzymejl_returnRoots" %142, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(144) %76) #228, !dbg !456: {}, intvals: {} %unbox480.unpack = load {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %unbox480.elt, align 8, !dbg !409, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %unbox543.unpack717.unpack.elt = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %19, i64 0, i32 1, i32 0, i64 0, !dbg !777: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox480.unpack764.unpack.unpack = load i64, i64 addrspace(10)* %unbox480.unpack764.unpack.elt, align 8, !dbg !409, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Integer}, intvals: {} %unbox543.unpack717.unpack.elt726 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %19, i64 0, i32 1, i32 0, i64 1, !dbg !777: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox480.unpack764.unpack.unpack774 = load i64, i64 addrspace(10)* %unbox480.unpack764.unpack.elt773, align 8, !dbg !409, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Integer}, intvals: {} %266 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %19, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !777: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox480.unpack764.unpack771.unpack.unpack = load i64, i64 addrspace(10)* %143, align 8, !dbg !409, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Integer}, intvals: {} %unbox480.unpack.pn = phi {} addrspace(10)* [ %unbox480.unpack, %L244 ], [ %getfield64, %L217 ]: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %112 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !329: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038516473040 to {}*) to {} addrspace(10)*): {[-1]:Anything}, intvals: {} %unbox550.unpack733.unpack740745 = insertvalue [1 x [1 x i64]] undef, [1 x i64] %unbox550.unpack733.unpack740.unpack746, 0, !dbg !777: {[-1]:Integer}, intvals: {} %unbox550.unpack733741 = insertvalue { [2 x i64], [1 x [1 x i64]] } %362, [1 x [1 x i64]] %unbox550.unpack733.unpack740745, 1, !dbg !777: {[-1]:Integer}, intvals: {} %363 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %360, { [2 x i64], [1 x [1 x i64]] } %unbox550.unpack733741, 1, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [16]:Integer, [17]:Integer, [18]:Integer, [19]:Integer, [20]:Integer, [21]:Integer, [22]:Integer, [23]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer, [32]:Anything, [33]:Anything, [34]:Anything, [35]:Anything, [36]:Anything, [37]:Anything, [38]:Anything, [39]:Anything, [40]:Anything, [41]:Anything, [42]:Anything, [43]:Anything, [44]:Anything, [45]:Anything, [46]:Anything, [47]:Anything}, intvals: {} %unbox550.elt734 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 1, i32 2, !dbg !777: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox550.unpack735 = load i64, i64 addrspace(11)* %unbox550.elt734, align 8, !dbg !777, !tbaa !224, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %364 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %363, i64 %unbox550.unpack735, 2, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [16]:Integer, [17]:Integer, [18]:Integer, [19]:Integer, [20]:Integer, [21]:Integer, [22]:Integer, [23]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer, [32]:Integer, [33]:Integer, [34]:Integer, [35]:Integer, [36]:Integer, [37]:Integer, [38]:Integer, [39]:Integer, [40]:Anything, [41]:Anything, [42]:Anything, [43]:Anything, [44]:Anything, [45]:Anything, [46]:Anything, [47]:Anything}, intvals: {} %unbox550.elt736 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 1, i32 3, !dbg !777: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox550.unpack737 = load i64, i64 addrspace(11)* %unbox550.elt736, align 8, !dbg !777, !tbaa !224, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %unbox550738 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %364, i64 %unbox550.unpack737, 3, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [16]:Integer, [17]:Integer, [18]:Integer, [19]:Integer, [20]:Integer, [21]:Integer, [22]:Integer, [23]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer, [32]:Integer, [33]:Integer, [34]:Integer, [35]:Integer, [36]:Integer, [37]:Integer, [38]:Integer, [39]:Integer, [40]:Integer, [41]:Integer, [42]:Integer, [43]:Integer, [44]:Integer, [45]:Integer, [46]:Integer, [47]:Integer}, intvals: {} %unbox564.unpack704 = load i64, i64 addrspace(11)* %unbox564.elt703, align 8, !dbg !777, !tbaa !224, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %88 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 0, i32 1, i64 0, i64 0, !dbg !286: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %box414 = call noalias nonnull dereferenceable(8) "enzyme_inactive" {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task413, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043906479456 to {}*) to {} addrspace(10)*)) #231, !dbg !326: {[-1,-1]:Pointer}, intvals: {} %135 = sub i64 1, %unbox466.unpack794.unpack.unpack.pn, !dbg !428: {[-1]:Integer}, intvals: {} %136 = add i64 %135, %unbox466.unpack794.unpack.unpack804.pn, !dbg !437: {[-1]:Integer}, intvals: {} %137 = call i64 @llvm.smax.i64(i64 %136, i64 0) #228, !dbg !438: {[-1]:Integer}, intvals: {} %.not583 = icmp eq i64 %unbox466.unpack794.unpack801.unpack.unpack.pn, 1, !dbg !443: {[-1]:Integer}, intvals: {} %.not584 = icmp eq i64 %137, 1, !dbg !450: {[-1]:Integer}, intvals: {} %getfield_addr63 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 0, i32 0, !dbg !453: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer}, intvals: {} %getfield64 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %getfield_addr63 unordered, align 8, !dbg !453, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268, !nonnull !218, !dereferenceable !398, !align !399: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %138 = addrspacecast {} addrspace(10)* %getfield64 to {} addrspace(11)*, !dbg !460: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %140 = bitcast {}* %139 to i8**, !dbg !460: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %arrayptr66 = load i8*, i8** %140, align 8, !dbg !460, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268, !nonnull !218: {[-1]:Pointer, [-1,-1]:Float@float}, intvals: {} %148 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %147) #233, !dbg !494: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %.not585.not = icmp eq i8* %arrayptr, %arrayptr66, !dbg !463: {[-1]:Integer}, intvals: {} %283 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %47, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !777: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox543.unpack717.unpack724.unpack.unpack = load i64, i64 addrspace(10)* %266, align 8, !dbg !777, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Integer}, intvals: {} %unbox543.unpack717.unpack724.unpack730 = insertvalue [1 x i64] undef, i64 %unbox543.unpack717.unpack724.unpack.unpack, 0, !dbg !777: {[-1]:Integer}, intvals: {} %unbox543.unpack717.unpack724729 = insertvalue [1 x [1 x i64]] undef, [1 x i64] %unbox543.unpack717.unpack724.unpack730, 0, !dbg !777: {[-1]:Integer}, intvals: {} %unbox543.unpack717725 = insertvalue { [2 x i64], [1 x [1 x i64]] } %265, [1 x [1 x i64]] %unbox543.unpack717.unpack724729, 1, !dbg !777: {[-1]:Integer}, intvals: {} %267 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %263, { [2 x i64], [1 x [1 x i64]] } %unbox543.unpack717725, 1, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [16]:Integer, [17]:Integer, [18]:Integer, [19]:Integer, [20]:Integer, [21]:Integer, [22]:Integer, [23]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer, [32]:Anything, [33]:Anything, [34]:Anything, [35]:Anything, [36]:Anything, [37]:Anything, [38]:Anything, [39]:Anything, [40]:Anything, [41]:Anything, [42]:Anything, [43]:Anything, [44]:Anything, [45]:Anything, [46]:Anything, [47]:Anything}, intvals: {} %unbox543.unpack719 = load i64, i64 addrspace(10)* %unbox543.elt718, align 8, !dbg !777, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Integer}, intvals: {} %268 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %267, i64 %unbox543.unpack719, 2, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [16]:Integer, [17]:Integer, [18]:Integer, [19]:Integer, [20]:Integer, [21]:Integer, [22]:Integer, [23]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer, [32]:Integer, [33]:Integer, [34]:Integer, [35]:Integer, [36]:Integer, [37]:Integer, [38]:Integer, [39]:Integer, [40]:Anything, [41]:Anything, [42]:Anything, [43]:Anything, [44]:Anything, [45]:Anything, [46]:Anything, [47]:Anything}, intvals: {} %unbox557.elt = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %47, i64 0, i32 0, !dbg !777: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer}, intvals: {} %unbox543.unpack721 = load i64, i64 addrspace(10)* %unbox543.elt720, align 8, !dbg !777, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Integer}, intvals: {} %unbox543722 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %268, i64 %unbox543.unpack721, 3, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [16]:Integer, [17]:Integer, [18]:Integer, [19]:Integer, [20]:Integer, [21]:Integer, [22]:Integer, [23]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer, [32]:Integer, [33]:Integer, [34]:Integer, [35]:Integer, [36]:Integer, [37]:Integer, [38]:Integer, [39]:Integer, [40]:Integer, [41]:Integer, [42]:Integer, [43]:Integer, [44]:Integer, [45]:Integer, [46]:Integer, [47]:Integer}, intvals: {} %.not731 = icmp eq { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(11)* %204, null, !dbg !777: {[-1]:Integer}, intvals: {} %value_phi238 = phi { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } [ %unbox543722, %L818 ], [ zeroinitializer, %L820 ], [ %unbox550738, %guard_pass548 ]: {[0]:Pointer, [0,0]:Pointer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer}, intvals: {} %269 = extractvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %value_phi238, 1, !dbg !787: {[0]:Integer, [1]:Integer, [2]:Integer, [3]:Integer, [4]:Integer, [5]:Integer, [6]:Integer, [7]:Integer, [16]:Integer, [17]:Integer, [18]:Integer, [19]:Integer, [20]:Integer, [21]:Integer, [22]:Integer, [23]:Integer}, intvals: {} %.elt625 = extractvalue { [2 x i64], [1 x [1 x i64]] } %269, 0, !dbg !787: {[0]:Integer, [1]:Integer, [2]:Integer, [3]:Integer, [4]:Integer, [5]:Integer, [6]:Integer, [7]:Integer}, intvals: {} %.elt625.elt = extractvalue [2 x i64] %.elt625, 0, !dbg !787: {[-1]:Integer}, intvals: {} %.elt625.elt630 = extractvalue [2 x i64] %.elt625, 1, !dbg !787: {}, intvals: {} %.elt627 = extractvalue { [2 x i64], [1 x [1 x i64]] } %269, 1, !dbg !787: {[-1]:Integer}, intvals: {} %270 = extractvalue [1 x [1 x i64]] %.elt627, 0, !dbg !787: {[-1]:Integer}, intvals: {} %271 = extractvalue [1 x i64] %270, 0, !dbg !787: {[-1]:Integer}, intvals: {} %272 = sub i64 1, %.elt625.elt, !dbg !791: {[-1]:Integer}, intvals: {} %273 = add i64 %272, %.elt625.elt630, !dbg !795: {}, intvals: {} %274 = call i64 @llvm.smax.i64(i64 %273, i64 0) #228, !dbg !796: {[-1]:Integer}, intvals: {} %.not631 = icmp eq i64 %271, 1, !dbg !801: {[-1]:Integer}, intvals: {} %.not632 = icmp eq i64 %274, 1, !dbg !806: {[-1]:Integer}, intvals: {} %getfield_addr247 = getelementptr inbounds { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(11)* %205, i64 0, i32 0, !dbg !809: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer}, intvals: {} %getfield248 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %getfield_addr247 unordered, align 8, !dbg !809, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268, !nonnull !218, !dereferenceable !398, !align !399: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %275 = addrspacecast {} addrspace(10)* %getfield248 to {} addrspace(11)*, !dbg !816: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %277 = bitcast {}* %276 to i8**, !dbg !816: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %arrayptr250 = load i8*, i8** %277, align 8, !dbg !816, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268, !nonnull !218: {[-1]:Pointer, [-1,-1]:Float@float}, intvals: {} %293 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %292) #233, !dbg !851: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %.not633.not = icmp eq i8* %arrayptr233, %arrayptr250, !dbg !819: {[-1]:Integer}, intvals: {} %unbox557.unpack690 = load i64, i64 addrspace(10)* %unbox557.elt689, align 8, !dbg !777, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Integer}, intvals: {} call fastcc void @julia_unaliascopy_2418({ {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }* noalias nocapture nofree noundef nonnull writeonly sret({ {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }) align 8 dereferenceable(48) %278, [1 x {} addrspace(10)*]* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(8) "enzymejl_returnRoots" %279, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(48) %205) #228, !dbg !812: {}, intvals: {} %unbox557.unpack = load {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %unbox557.elt, align 8, !dbg !777, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %280 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } undef, {} addrspace(10)* %unbox557.unpack, 0, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Anything, [9]:Anything, [10]:Anything, [11]:Anything, [12]:Anything, [13]:Anything, [14]:Anything, [15]:Anything, [16]:Anything, [17]:Anything, [18]:Anything, [19]:Anything, [20]:Anything, [21]:Anything, [22]:Anything, [23]:Anything, [24]:Anything, [25]:Anything, [26]:Anything, [27]:Anything, [28]:Anything, [29]:Anything, [30]:Anything, [31]:Anything, [32]:Anything, [33]:Anything, [34]:Anything, [35]:Anything, [36]:Anything, [37]:Anything, [38]:Anything, [39]:Anything, [40]:Anything, [41]:Anything, [42]:Anything, [43]:Anything, [44]:Anything, [45]:Anything, [46]:Anything, [47]:Anything}, intvals: {} %unbox557.unpack686.unpack.unpack = load i64, i64 addrspace(10)* %unbox557.unpack686.unpack.elt, align 8, !dbg !777, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Integer}, intvals: {} %281 = insertvalue [2 x i64] undef, i64 %unbox557.unpack686.unpack.unpack, 0, !dbg !777: {[0]:Integer, [1]:Integer, [2]:Integer, [3]:Integer, [4]:Integer, [5]:Integer, [6]:Integer, [7]:Integer, [8]:Anything, [9]:Anything, [10]:Anything, [11]:Anything, [12]:Anything, [13]:Anything, [14]:Anything, [15]:Anything}, intvals: {} %unbox557.unpack686.unpack.unpack696 = load i64, i64 addrspace(10)* %unbox557.unpack686.unpack.elt695, align 8, !dbg !777, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Integer}, intvals: {} %unbox557.unpack686.unpack697 = insertvalue [2 x i64] %281, i64 %unbox557.unpack686.unpack.unpack696, 1, !dbg !777: {[-1]:Integer}, intvals: {} %unbox557.unpack686.unpack693.unpack.unpack = load i64, i64 addrspace(10)* %283, align 8, !dbg !777, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Integer}, intvals: {} %282 = insertvalue { [2 x i64], [1 x [1 x i64]] } undef, [2 x i64] %unbox557.unpack686.unpack697, 0, !dbg !777: {[0]:Integer, [1]:Integer, [2]:Integer, [3]:Integer, [4]:Integer, [5]:Integer, [6]:Integer, [7]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [16]:Anything, [17]:Anything, [18]:Anything, [19]:Anything, [20]:Anything, [21]:Anything, [22]:Anything, [23]:Anything}, intvals: {} %unbox557.unpack686.unpack693.unpack699 = insertvalue [1 x i64] undef, i64 %unbox557.unpack686.unpack693.unpack.unpack, 0, !dbg !777: {[-1]:Integer}, intvals: {} %unbox557.unpack686.unpack693698 = insertvalue [1 x [1 x i64]] undef, [1 x i64] %unbox557.unpack686.unpack693.unpack699, 0, !dbg !777: {[-1]:Integer}, intvals: {} %unbox557.unpack686694 = insertvalue { [2 x i64], [1 x [1 x i64]] } %282, [1 x [1 x i64]] %unbox557.unpack686.unpack693698, 1, !dbg !777: {[-1]:Integer}, intvals: {} %284 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %280, { [2 x i64], [1 x [1 x i64]] } %unbox557.unpack686694, 1, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [16]:Integer, [17]:Integer, [18]:Integer, [19]:Integer, [20]:Integer, [21]:Integer, [22]:Integer, [23]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer, [32]:Anything, [33]:Anything, [34]:Anything, [35]:Anything, [36]:Anything, [37]:Anything, [38]:Anything, [39]:Anything, [40]:Anything, [41]:Anything, [42]:Anything, [43]:Anything, [44]:Anything, [45]:Anything, [46]:Anything, [47]:Anything}, intvals: {} %unbox557.unpack688 = load i64, i64 addrspace(10)* %unbox557.elt687, align 8, !dbg !777, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Integer}, intvals: {} %285 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %284, i64 %unbox557.unpack688, 2, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [16]:Integer, [17]:Integer, [18]:Integer, [19]:Integer, [20]:Integer, [21]:Integer, [22]:Integer, [23]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer, [32]:Integer, [33]:Integer, [34]:Integer, [35]:Integer, [36]:Integer, [37]:Integer, [38]:Integer, [39]:Integer, [40]:Anything, [41]:Anything, [42]:Anything, [43]:Anything, [44]:Anything, [45]:Anything, [46]:Anything, [47]:Anything}, intvals: {} %unbox557691 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %285, i64 %unbox557.unpack690, 3, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [16]:Integer, [17]:Integer, [18]:Integer, [19]:Integer, [20]:Integer, [21]:Integer, [22]:Integer, [23]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer, [32]:Integer, [33]:Integer, [34]:Integer, [35]:Integer, [36]:Integer, [37]:Integer, [38]:Integer, [39]:Integer, [40]:Integer, [41]:Integer, [42]:Integer, [43]:Integer, [44]:Integer, [45]:Integer, [46]:Integer, [47]:Integer}, intvals: {} %.not700 = icmp eq { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(11)* %205, null, !dbg !777: {[-1]:Integer}, intvals: {} %value_phi251 = phi { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } [ %unbox557691, %L850 ], [ zeroinitializer, %L852 ], [ %unbox564707, %guard_pass562 ]: {[0]:Pointer, [0,0]:Pointer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer}, intvals: {} %286 = extractvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %value_phi251, 1, !dbg !822: {[0]:Integer, [1]:Integer, [2]:Integer, [3]:Integer, [4]:Integer, [5]:Integer, [6]:Integer, [7]:Integer, [16]:Integer, [17]:Integer, [18]:Integer, [19]:Integer, [20]:Integer, [21]:Integer, [22]:Integer, [23]:Integer}, intvals: {} %.elt634 = extractvalue { [2 x i64], [1 x [1 x i64]] } %286, 0, !dbg !822: {[0]:Integer, [1]:Integer, [2]:Integer, [3]:Integer, [4]:Integer, [5]:Integer, [6]:Integer, [7]:Integer}, intvals: {} %.elt634.elt = extractvalue [2 x i64] %.elt634, 0, !dbg !822: {[-1]:Integer}, intvals: {} %.elt634.elt639 = extractvalue [2 x i64] %.elt634, 1, !dbg !822: {}, intvals: {} %.elt636 = extractvalue { [2 x i64], [1 x [1 x i64]] } %286, 1, !dbg !822: {[-1]:Integer}, intvals: {} %287 = extractvalue [1 x [1 x i64]] %.elt636, 0, !dbg !822: {[-1]:Integer}, intvals: {} %288 = extractvalue [1 x i64] %287, 0, !dbg !822: {[-1]:Integer}, intvals: {} %getfield261 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %getfield_addr260 unordered, align 8, !dbg !844, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268, !nonnull !218, !dereferenceable !398, !align !399: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %289 = sub i64 1, %.elt634.elt, !dbg !826: {[-1]:Integer}, intvals: {} %290 = add i64 %289, %.elt634.elt639, !dbg !830: {}, intvals: {} %291 = call i64 @llvm.smax.i64(i64 %290, i64 0) #228, !dbg !831: {[-1]:Integer}, intvals: {} %.not640 = icmp eq i64 %288, 1, !dbg !836: {[-1]:Integer}, intvals: {} %.not641 = icmp eq i64 %291, 1, !dbg !841: {[-1]:Integer}, intvals: {} %getfield_addr260 = getelementptr inbounds { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }, { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } addrspace(11)* %206, i64 0, i32 0, !dbg !844: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer}, intvals: {} %292 = addrspacecast {} addrspace(10)* %getfield261 to {} addrspace(11)*, !dbg !851: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %294 = bitcast {}* %293 to i8**, !dbg !851: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %arrayptr263 = load i8*, i8** %294, align 8, !dbg !851, !tbaa !497, !alias.scope !500, !noalias !501, !nonnull !218: {[-1]:Pointer, [-1,-1]:Float@float}, intvals: {} %.not642.not = icmp eq i8* %arrayptr233, %arrayptr263, !dbg !854: {[-1]:Integer}, intvals: {} %.not643 = icmp ugt i64 %219, 9223372036854775806, !dbg !862: {[-1]:Integer}, intvals: {} %98 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* noundef nonnull @ijl_invoke, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 140043927306144 to {}*) to {} addrspace(10)*), {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 140043904669504 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020768 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %96, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020736 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %97) #230, !dbg !309: {}, intvals: {} %175 = getelementptr inbounds float, float addrspace(13)* %arrayptr122611, i64 %174, !dbg !589: {[-1]:Pointer, [-1,-1]:Float@float}, intvals: {} %value_phi102.op = add nsw i64 %iv.next, -1: {[-1]:Integer}, intvals: {0,} %166 = select i1 %.not583, i64 0, i64 %value_phi102.op: {[-1]:Integer}, intvals: {} %167 = mul i64 %arraysize120, %166: {[-1]:Integer}, intvals: {} %arrayptr122611 = load float addrspace(13)*, float addrspace(13)* addrspace(11)* %158, align 8, !tbaa !224, !invariant.load !218, !alias.scope !559, !noalias !268, !nonnull !218: {[-1]:Pointer, [-1,-1]:Float@float}, intvals: {} %arraysize135 = load i64, i64 addrspace(11)* %160, align 8, !tbaa !224, !range !362, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %168 = select i1 %.not592, i64 0, i64 %value_phi102.op: {[-1]:Integer}, intvals: {} %169 = mul i64 %arraysize135, %168: {[-1]:Integer}, intvals: {} %arrayptr138619 = load float addrspace(13)*, float addrspace(13)* addrspace(11)* %162, align 8, !tbaa !224, !invariant.load !218, !alias.scope !559, !noalias !268, !nonnull !218: {[-1]:Pointer, [-1,-1]:Float@float}, intvals: {} %arrayptr146620 = load float addrspace(13)*, float addrspace(13)* addrspace(11)* %164, align 8, !tbaa !497, !alias.scope !560, !noalias !501, !nonnull !218: {[-1]:Pointer, [-1,-1]:Float@float}, intvals: {} %34 = bitcast {}*** %9 to {}**: {[-1]:Pointer}, intvals: {} %193 = select i1 %190, float %192, float 1.000000e+00, !dbg !653: {[-1]:Float@float}, intvals: {} %194 = add i64 %iv1, %170, !dbg !654: {[-1]:Integer}, intvals: {0,} %arrayptr155621 = load float addrspace(13)*, float addrspace(13)* addrspace(11)* %165, align 8, !dbg !654, !tbaa !224, !invariant.load !218, !alias.scope !559, !noalias !268, !nonnull !218: {[-1]:Pointer, [-1,-1]:Float@float}, intvals: {} %195 = getelementptr inbounds float, float addrspace(13)* %arrayptr155621, i64 %194, !dbg !654: {[-1]:Pointer, [-1,-1]:Float@float}, intvals: {} %exitcond932.not = icmp eq i64 %iv.next2, %.sroa.0882.0, !dbg !658: {[-1]:Integer}, intvals: {} %196 = add nuw i64 %iv.next, 1, !dbg !661: {[-1]:Integer}, intvals: {2,} %197 = icmp ult i64 %iv.next, 9223372036854775807, !dbg !666: {[-1]:Integer}, intvals: {} %198 = icmp sle i64 %196, %.sroa.0878.0, !dbg !666: {[-1]:Integer}, intvals: {} %.not828 = and i1 %197, %198, !dbg !670: {[-1]:Integer}, intvals: {} %199 = icmp ne i64 %iv.next, %.sroa.0878.0: {[-1]:Integer}, intvals: {} %or.cond = and i1 %199, %.not828, !dbg !670: {[-1]:Integer}, intvals: {} %75 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 0, !dbg !227: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer, [-1,41]:Integer, [-1,42]:Integer, [-1,43]:Integer, [-1,44]:Integer, [-1,45]:Integer, [-1,46]:Integer, [-1,47]:Integer}, intvals: {} %74 = getelementptr inbounds i64*, i64** %ptls_load575576, i64 2: {[-1]:Pointer}, intvals: {} %current_task380750 = getelementptr inbounds {}**, {}*** %72, i64 -14, !dbg !726: {}, intvals: {} %current_task380 = bitcast {}*** %current_task380750 to {}**, !dbg !726: {}, intvals: {} %box381 = call noalias nonnull dereferenceable(8) "enzyme_inactive" {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task380, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043906479456 to {}*) to {} addrspace(10)*)) #231, !dbg !726: {[-1,-1]:Pointer}, intvals: {} %237 = bitcast {} addrspace(10)* %box381 to [1 x {} addrspace(10)*] addrspace(10)*, !dbg !726: {}, intvals: {} %238 = getelementptr [1 x {} addrspace(10)*], [1 x {} addrspace(10)*] addrspace(10)* %237, i64 0, i64 0, !dbg !726: {}, intvals: {} %239 = addrspacecast {} addrspace(10)* %box381 to {} addrspace(12)*, !dbg !726: {}, intvals: {} %unbox198 = load i64, i64 addrspace(11)* %240, align 8, !dbg !735, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %unbox199 = load i64, i64 addrspace(11)* %241, align 8, !dbg !735: {[-1]:Integer}, intvals: {} %242 = icmp eq i64 %unbox198, %unbox199, !dbg !735: {[-1]:Integer}, intvals: {} %243 = icmp eq i64 %unbox199, 1, !dbg !732: {[-1]:Integer}, intvals: {} %current_task375 = bitcast {}*** %current_task375749 to {}**, !dbg !733: {}, intvals: {} %unbox175 = load i64, i64 addrspace(11)* %212, align 8, !dbg !708, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %214 = add i64 %unbox174, 1, !dbg !708: {[-1]:Integer}, intvals: {} %215 = sub i64 %214, %unbox175, !dbg !710: {[-1]:Integer}, intvals: {} %216 = call i64 @llvm.smax.i64(i64 %215, i64 0) #228, !dbg !711: {[-1]:Integer}, intvals: {} %217 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 1, i32 1, i64 0, i64 0, !dbg !699: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %218 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 1, i32 1, i64 0, i64 1, !dbg !706: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox178 = load i64, i64 addrspace(11)* %218, align 8, !dbg !708, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %unbox179 = load i64, i64 addrspace(11)* %217, align 8, !dbg !708, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %219 = sub i64 %unbox178, %unbox179, !dbg !708: {[-1]:Integer}, intvals: {} %220 = add i64 %219, 1, !dbg !710: {[-1]:Integer}, intvals: {} %221 = call i64 @llvm.smax.i64(i64 %220, i64 0) #228, !dbg !711: {[-1]:Integer}, intvals: {} %180 = add i64 %163, %179, !dbg !610: {[-1]:Integer}, intvals: {} %181 = getelementptr inbounds float, float addrspace(13)* %arrayptr146620, i64 %180, !dbg !610: {[-1]:Pointer, [-1,-1]:Float@float}, intvals: {} %arrayref147 = load float, float addrspace(13)* %181, align 4, !dbg !610, !tbaa !591, !alias.scope !319, !noalias !593: {[-1]:Float@float}, intvals: {} %182 = fadd float %arrayref, %arrayref139, !dbg !614: {[-1]:Float@float}, intvals: {} %183 = fadd float %182, %arrayref147, !dbg !614: {[-1]:Float@float}, intvals: {} %134 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %68, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !409: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %184 = call float @llvm.fabs.f32(float %183) #228, !dbg !622: {[-1]:Float@float}, intvals: {} %185 = fneg fast float %184, !dbg !632: {[-1]:Float@float}, intvals: {} %186 = call fastcc float @julia_exp_fast_2449(float %185) #234, !dbg !627: {[-1]:Float@float}, intvals: {} %188 = fadd float %186, 1.000000e+00, !dbg !641: {[-1]:Float@float}, intvals: {} %.v921 = select i1 %187, float %186, float 1.000000e+00, !dbg !644: {[-1]:Float@float}, intvals: {} %189 = fdiv float %.v921, %188, !dbg !644: {[-1]:Float@float}, intvals: {} %190 = fcmp ule float %183, 4.000000e+01, !dbg !645: {[-1]:Integer}, intvals: {} %191 = fcmp uge float %183, -8.000000e+01, !dbg !651: {[-1]:Integer}, intvals: {} %192 = select i1 %191, float %189, float 0.000000e+00, !dbg !653: {[-1]:Float@float}, intvals: {} %arraysize_ptr360.phi.trans.insert = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %252, i64 4: {}, intvals: {} %.phi.trans.insert890 = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr360.phi.trans.insert to i64 addrspace(11)*: {}, intvals: {} %arraysize361.pre = load i64, i64 addrspace(11)* %.phi.trans.insert890, align 8, !dbg !744, !tbaa !224, !range !362, !invariant.load !218, !alias.scope !265, !noalias !268: {}, intvals: {} %arraysize_ptr227 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %252, i64 4, !dbg !744: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %254 = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr227 to i64 addrspace(11)*, !dbg !744: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %arraysize228 = load i64, i64 addrspace(11)* %254, align 8, !dbg !744, !tbaa !224, !range !362, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %256 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %255) #233, !dbg !757: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %.not747 = icmp eq i64 %arraysize228, %.sroa.0848.0, !dbg !753: {[-1]:Integer}, intvals: {} %255 = addrspacecast {} addrspace(10)* %251 to {} addrspace(11)*, !dbg !757: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %257 = bitcast {}* %256 to i8**, !dbg !757: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %arrayptr233 = load i8*, i8** %257, align 8, !dbg !757, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268, !nonnull !218: {[-1]:Pointer, [-1,-1]:Float@float}, intvals: {} %259 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %258) #233, !dbg !771: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %getfield_addr234 = getelementptr inbounds { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(11)* %204, i64 0, i32 0, !dbg !769: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer}, intvals: {} %getfield235 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %getfield_addr234 unordered, align 8, !dbg !769, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268, !nonnull !218, !dereferenceable !398, !align !399: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %258 = addrspacecast {} addrspace(10)* %getfield235 to {} addrspace(11)*, !dbg !771: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %260 = bitcast {}* %259 to i8**, !dbg !771: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %arrayptr237 = load i8*, i8** %260, align 8, !dbg !771, !tbaa !224, !invariant.load !218, !alias.scope !265, !noalias !268, !nonnull !218: {[-1]:Pointer, [-1,-1]:Float@float}, intvals: {} %276 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %275) #233, !dbg !816: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %.not624.not = icmp eq i8* %arrayptr233, %arrayptr237, !dbg !774: {[-1]:Integer}, intvals: {} call fastcc void @julia_unaliascopy_2418({ {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }* noalias nocapture nofree noundef nonnull writeonly sret({ {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }) align 8 dereferenceable(48) %261, [1 x {} addrspace(10)*]* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(8) "enzymejl_returnRoots" %262, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(48) %204) #228, !dbg !761: {}, intvals: {} %unbox543.unpack = load {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %unbox543.elt, align 8, !dbg !777, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %263 = insertvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } undef, {} addrspace(10)* %unbox543.unpack, 0, !dbg !777: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@float, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Anything, [9]:Anything, [10]:Anything, [11]:Anything, [12]:Anything, [13]:Anything, [14]:Anything, [15]:Anything, [16]:Anything, [17]:Anything, [18]:Anything, [19]:Anything, [20]:Anything, [21]:Anything, [22]:Anything, [23]:Anything, [24]:Anything, [25]:Anything, [26]:Anything, [27]:Anything, [28]:Anything, [29]:Anything, [30]:Anything, [31]:Anything, [32]:Anything, [33]:Anything, [34]:Anything, [35]:Anything, [36]:Anything, [37]:Anything, [38]:Anything, [39]:Anything, [40]:Anything, [41]:Anything, [42]:Anything, [43]:Anything, [44]:Anything, [45]:Anything, [46]:Anything, [47]:Anything}, intvals: {} %unbox557.unpack686.unpack.elt = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %47, i64 0, i32 1, i32 0, i64 0, !dbg !777: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox543.unpack717.unpack.unpack = load i64, i64 addrspace(10)* %unbox543.unpack717.unpack.elt, align 8, !dbg !777, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Integer}, intvals: {} %264 = insertvalue [2 x i64] undef, i64 %unbox543.unpack717.unpack.unpack, 0, !dbg !777: {[0]:Integer, [1]:Integer, [2]:Integer, [3]:Integer, [4]:Integer, [5]:Integer, [6]:Integer, [7]:Integer, [8]:Anything, [9]:Anything, [10]:Anything, [11]:Anything, [12]:Anything, [13]:Anything, [14]:Anything, [15]:Anything}, intvals: {} %unbox557.unpack686.unpack.elt695 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %47, i64 0, i32 1, i32 0, i64 1, !dbg !777: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox543.unpack717.unpack.unpack727 = load i64, i64 addrspace(10)* %unbox543.unpack717.unpack.elt726, align 8, !dbg !777, !tbaa !336, !alias.scope !338, !noalias !427: {[-1]:Integer}, intvals: {} %unbox543.unpack717.unpack728 = insertvalue [2 x i64] %264, i64 %unbox543.unpack717.unpack.unpack727, 1, !dbg !777: {[-1]:Integer}, intvals: {} %265 = insertvalue { [2 x i64], [1 x [1 x i64]] } undef, [2 x i64] %unbox543.unpack717.unpack728, 0, !dbg !777: {[0]:Integer, [1]:Integer, [2]:Integer, [3]:Integer, [4]:Integer, [5]:Integer, [6]:Integer, [7]:Integer, [8]:Integer, [9]:Integer, [10]:Integer, [11]:Integer, [12]:Integer, [13]:Integer, [14]:Integer, [15]:Integer, [16]:Anything, [17]:Anything, [18]:Anything, [19]:Anything, [20]:Anything, [21]:Anything, [22]:Anything, [23]:Anything}, intvals: {} %value_phi274 = phi { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } [ %299, %L882 ], [ zeroinitializer, %L914 ], [ %unbox571680, %guard_pass569 ]: {[0]:Pointer, [0,0]:Pointer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer}, intvals: {} %300 = extractvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } %value_phi274, 1, !dbg !874: {}, intvals: {} %301 = extractvalue [1 x [2 x i64]] %300, 0, !dbg !874: {}, intvals: {} %.elt648 = extractvalue [2 x i64] %301, 0, !dbg !874: {}, intvals: {} %.elt650 = extractvalue [2 x i64] %301, 1, !dbg !874: {}, intvals: {} %302 = sub i64 1, %.elt648, !dbg !878: {}, intvals: {} %303 = add i64 %302, %.elt650, !dbg !882: {}, intvals: {} %304 = call i64 @llvm.smax.i64(i64 %303, i64 0) #228, !dbg !883: {[-1]:Integer}, intvals: {} %.not651 = icmp eq i64 %304, 1, !dbg !888: {[-1]:Integer}, intvals: {} %.not927 = icmp eq i64 %.sroa.0848.0, 0, !dbg !892: {[-1]:Integer}, intvals: {} %305 = icmp eq i64 %.sroa.0852.0, 0: {[-1]:Integer}, intvals: {} %306 = extractvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %value_phi238, 0: {[-1]:Pointer, [-1,0]:Pointer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer}, intvals: {} %222 = icmp eq i64 %221, %216, !dbg !716: {[-1]:Integer}, intvals: {} %223 = icmp eq i64 %216, 1, !dbg !718: {[-1]:Integer}, intvals: {} %value_phi182.in = or i1 %223, %222, !dbg !718: {[-1]:Integer}, intvals: {} %224 = icmp eq i64 %221, 1, !dbg !718: {[-1]:Integer}, intvals: {} %225 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %216) #229, !dbg !719: {}, intvals: {} %226 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %221) #229, !dbg !719: {}, intvals: {} %current_task385751 = getelementptr inbounds {}**, {}*** %72, i64 -14, !dbg !719: {}, intvals: {} %current_task385 = bitcast {}*** %current_task385751 to {}**, !dbg !719: {}, intvals: {} %box386 = call noalias nonnull dereferenceable(8) "enzyme_inactive" {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task385, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043906479456 to {}*) to {} addrspace(10)*)) #231, !dbg !719: {[-1,-1]:Pointer}, intvals: {} %228 = bitcast {} addrspace(10)* %box386 to [1 x {} addrspace(10)*] addrspace(10)*, !dbg !719: {}, intvals: {} %229 = getelementptr [1 x {} addrspace(10)*], [1 x {} addrspace(10)*] addrspace(10)* %228, i64 0, i64 0, !dbg !719: {}, intvals: {} %.sroa.0852.0 = phi i64 [ %.sroa.0856.0, %L661 ], [ %211, %L682 ], !dbg !722: {[-1]:Integer}, intvals: {} %241 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 1, i32 1, i32 1, i64 0, i64 0, !dbg !729: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %box407 = call noalias nonnull dereferenceable(8) "enzyme_inactive" {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task406, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043906479456 to {}*) to {} addrspace(10)*)) #231, !dbg !333: {[-1,-1]:Pointer}, intvals: {} %value_phi200.in = or i1 %242, %243, !dbg !732: {[-1]:Integer}, intvals: {} %244 = icmp eq i64 %unbox198, 1, !dbg !732: {[-1]:Integer}, intvals: {} %245 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %unbox199) #229, !dbg !733: {}, intvals: {} %246 = call noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %unbox198) #229, !dbg !733: {}, intvals: {} %247 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* nonnull @ijl_invoke, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043927306144 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043904669504 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020768 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %245, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020736 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %246) #230, !dbg !733: {}, intvals: {} %current_task375749 = getelementptr inbounds {}**, {}*** %72, i64 -14, !dbg !733: {}, intvals: {} %box = call noalias nonnull dereferenceable(8) "enzyme_inactive" {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task375, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043906479456 to {}*) to {} addrspace(10)*)) #231, !dbg !733: {[-1,-1]:Pointer}, intvals: {} %248 = bitcast {} addrspace(10)* %box to [1 x {} addrspace(10)*] addrspace(10)*, !dbg !733: {}, intvals: {} %249 = getelementptr [1 x {} addrspace(10)*], [1 x {} addrspace(10)*] addrspace(10)* %248, i64 0, i64 0, !dbg !733: {}, intvals: {} %118 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* nonnull @ijl_invoke, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043927306144 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043904669504 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020768 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %116, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020736 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %117) #230, !dbg !333: {}, intvals: {} %ptls_field574 = getelementptr inbounds {}**, {}*** %72, i64 2: {[-1]:Pointer, [-1,0]:Pointer}, intvals: {} %48 = bitcast {}*** %10 to {}**: {[-1]:Pointer}, intvals: {} [2 x {} addrspace(10)*]* %0: {[-1]:Pointer, [-1,-1]:Pointer, [-1,-1,0]:Pointer, [-1,-1,0,-1]:Float@float, [-1,-1,8]:Integer, [-1,-1,9]:Integer, [-1,-1,10]:Integer, [-1,-1,11]:Integer, [-1,-1,12]:Integer, [-1,-1,13]:Integer, [-1,-1,14]:Integer, [-1,-1,15]:Integer, [-1,-1,16]:Integer, [-1,-1,17]:Integer, [-1,-1,18]:Integer, [-1,-1,19]:Integer, [-1,-1,20]:Integer, [-1,-1,21]:Integer, [-1,-1,22]:Integer, [-1,-1,23]:Integer, [-1,-1,24]:Integer, [-1,-1,25]:Integer, [-1,-1,26]:Integer, [-1,-1,27]:Integer, [-1,-1,28]:Integer, [-1,-1,29]:Integer, [-1,-1,30]:Integer, [-1,-1,31]:Integer, [-1,-1,32]:Integer, [-1,-1,33]:Integer, [-1,-1,34]:Integer, [-1,-1,35]:Integer, [-1,-1,36]:Integer, [-1,-1,37]:Integer, [-1,-1,38]:Integer, [-1,-1,39]:Integer}, intvals: {} [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer, [-1,41]:Integer, [-1,42]:Integer, [-1,43]:Integer, [-1,44]:Integer, [-1,45]:Integer, [-1,46]:Integer, [-1,47]:Integer, [-1,48]:Pointer, [-1,48,0]:Pointer, [-1,48,0,-1]:Float@float, [-1,48,8]:Integer, [-1,48,9]:Integer, [-1,48,10]:Integer, [-1,48,11]:Integer, [-1,48,12]:Integer, [-1,48,13]:Integer, [-1,48,14]:Integer, [-1,48,15]:Integer, [-1,48,16]:Integer, [-1,48,17]:Integer, [-1,48,18]:Integer, [-1,48,19]:Integer, [-1,48,20]:Integer, [-1,48,21]:Integer, [-1,48,22]:Integer, [-1,48,23]:Integer, [-1,48,24]:Integer, [-1,48,25]:Integer, [-1,48,26]:Integer, [-1,48,27]:Integer, [-1,48,28]:Integer, [-1,48,29]:Integer, [-1,48,30]:Integer, [-1,48,31]:Integer, [-1,48,32]:Integer, [-1,48,33]:Integer, [-1,48,34]:Integer, [-1,48,35]:Integer, [-1,48,36]:Integer, [-1,48,37]:Integer, [-1,48,38]:Integer, [-1,48,39]:Integer, [-1,56]:Integer, [-1,57]:Integer, [-1,58]:Integer, [-1,59]:Integer, [-1,60]:Integer, [-1,61]:Integer, [-1,62]:Integer, [-1,63]:Integer, [-1,64]:Integer, [-1,65]:Integer, [-1,66]:Integer, [-1,67]:Integer, [-1,68]:Integer, [-1,69]:Integer, [-1,70]:Integer, [-1,71]:Integer, [-1,72]:Integer, [-1,73]:Integer, [-1,74]:Integer, [-1,75]:Integer, [-1,76]:Integer, [-1,77]:Integer, [-1,78]:Integer, [-1,79]:Integer, [-1,80]:Integer, [-1,81]:Integer, [-1,82]:Integer, [-1,83]:Integer, [-1,84]:Integer, [-1,85]:Integer, [-1,86]:Integer, [-1,87]:Integer, [-1,88]:Integer, [-1,89]:Integer, [-1,90]:Integer, [-1,91]:Integer, [-1,92]:Integer, [-1,93]:Integer, [-1,94]:Integer, [-1,95]:Integer, [-1,96]:Pointer, [-1,96,0]:Pointer, [-1,96,0,-1]:Float@float, [-1,96,8]:Integer, [-1,96,9]:Integer, [-1,96,10]:Integer, [-1,96,11]:Integer, [-1,96,12]:Integer, [-1,96,13]:Integer, [-1,96,14]:Integer, [-1,96,15]:Integer, [-1,96,16]:Integer, [-1,96,17]:Integer, [-1,96,18]:Integer, [-1,96,19]:Integer, [-1,96,20]:Integer, [-1,96,21]:Integer, [-1,96,22]:Integer, [-1,96,23]:Integer, [-1,96,24]:Integer, [-1,96,25]:Integer, [-1,96,26]:Integer, [-1,96,27]:Integer, [-1,96,28]:Integer, [-1,96,29]:Integer, [-1,96,30]:Integer, [-1,96,31]:Integer, [-1,96,32]:Integer, [-1,96,33]:Integer, [-1,96,34]:Integer, [-1,96,35]:Integer, [-1,96,36]:Integer, [-1,96,37]:Integer, [-1,96,38]:Integer, [-1,96,39]:Integer, [-1,104]:Integer, [-1,105]:Integer, [-1,106]:Integer, [-1,107]:Integer, [-1,108]:Integer, [-1,109]:Integer, [-1,110]:Integer, [-1,111]:Integer, [-1,112]:Integer, [-1,113]:Integer, [-1,114]:Integer, [-1,115]:Integer, [-1,116]:Integer, [-1,117]:Integer, [-1,118]:Integer, [-1,119]:Integer, [-1,120]:Integer, [-1,121]:Integer, [-1,122]:Integer, [-1,123]:Integer, [-1,124]:Integer, [-1,125]:Integer, [-1,126]:Integer, [-1,127]:Integer, [-1,128]:Integer, [-1,129]:Integer, [-1,130]:Integer, [-1,131]:Integer, [-1,132]:Integer, [-1,133]:Integer, [-1,134]:Integer, [-1,135]:Integer, [-1,136]:Integer, [-1,137]:Integer, [-1,138]:Integer, [-1,139]:Integer, [-1,140]:Integer, [-1,141]:Integer, [-1,142]:Integer, [-1,143]:Integer}, intvals: {} [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer, [-1,41]:Integer, [-1,42]:Integer, [-1,43]:Integer, [-1,44]:Integer, [-1,45]:Integer, [-1,46]:Integer, [-1,47]:Integer, [-1,48]:Pointer, [-1,48,0]:Pointer, [-1,48,0,-1]:Float@float, [-1,48,8]:Integer, [-1,48,9]:Integer, [-1,48,10]:Integer, [-1,48,11]:Integer, [-1,48,12]:Integer, [-1,48,13]:Integer, [-1,48,14]:Integer, [-1,48,15]:Integer, [-1,48,16]:Integer, [-1,48,17]:Integer, [-1,48,18]:Integer, [-1,48,19]:Integer, [-1,48,20]:Integer, [-1,48,21]:Integer, [-1,48,22]:Integer, [-1,48,23]:Integer, [-1,48,24]:Integer, [-1,48,25]:Integer, [-1,48,26]:Integer, [-1,48,27]:Integer, [-1,48,28]:Integer, [-1,48,29]:Integer, [-1,48,30]:Integer, [-1,48,31]:Integer, [-1,48,32]:Integer, [-1,48,33]:Integer, [-1,48,34]:Integer, [-1,48,35]:Integer, [-1,48,36]:Integer, [-1,48,37]:Integer, [-1,48,38]:Integer, [-1,48,39]:Integer, [-1,56]:Integer, [-1,57]:Integer, [-1,58]:Integer, [-1,59]:Integer, [-1,60]:Integer, [-1,61]:Integer, [-1,62]:Integer, [-1,63]:Integer, [-1,64]:Integer, [-1,65]:Integer, [-1,66]:Integer, [-1,67]:Integer, [-1,68]:Integer, [-1,69]:Integer, [-1,70]:Integer, [-1,71]:Integer, [-1,72]:Integer, [-1,73]:Integer, [-1,74]:Integer, [-1,75]:Integer, [-1,76]:Integer, [-1,77]:Integer, [-1,78]:Integer, [-1,79]:Integer, [-1,80]:Integer, [-1,81]:Integer, [-1,82]:Integer, [-1,83]:Integer, [-1,84]:Integer, [-1,85]:Integer, [-1,86]:Integer, [-1,87]:Integer, [-1,88]:Integer, [-1,89]:Integer, [-1,90]:Integer, [-1,91]:Integer, [-1,92]:Integer, [-1,93]:Integer, [-1,94]:Integer, [-1,95]:Integer, [-1,96]:Pointer, [-1,96,0]:Pointer, [-1,96,0,-1]:Float@float, [-1,96,8]:Integer, [-1,96,9]:Integer, [-1,96,10]:Integer, [-1,96,11]:Integer, [-1,96,12]:Integer, [-1,96,13]:Integer, [-1,96,14]:Integer, [-1,96,15]:Integer, [-1,96,16]:Integer, [-1,96,17]:Integer, [-1,96,18]:Integer, [-1,96,19]:Integer, [-1,96,20]:Integer, [-1,96,21]:Integer, [-1,96,22]:Integer, [-1,96,23]:Integer, [-1,96,24]:Integer, [-1,96,25]:Integer, [-1,96,26]:Integer, [-1,96,27]:Integer, [-1,96,28]:Integer, [-1,96,29]:Integer, [-1,96,30]:Integer, [-1,96,31]:Integer, [-1,96,32]:Integer, [-1,96,33]:Integer, [-1,96,34]:Integer, [-1,96,35]:Integer, [-1,96,36]:Integer, [-1,96,37]:Integer, [-1,96,38]:Integer, [-1,96,39]:Integer, [-1,104]:Integer, [-1,105]:Integer, [-1,106]:Integer, [-1,107]:Integer, [-1,108]:Integer, [-1,109]:Integer, [-1,110]:Integer, [-1,111]:Integer, [-1,112]:Integer, [-1,113]:Integer, [-1,114]:Integer, [-1,115]:Integer, [-1,116]:Integer, [-1,117]:Integer, [-1,118]:Integer, [-1,119]:Integer, [-1,120]:Integer, [-1,121]:Integer, [-1,122]:Integer, [-1,123]:Integer, [-1,124]:Integer, [-1,125]:Integer, [-1,126]:Integer, [-1,127]:Integer, [-1,128]:Integer, [-1,129]:Integer, [-1,130]:Integer, [-1,131]:Integer, [-1,132]:Integer, [-1,133]:Integer, [-1,134]:Integer, [-1,135]:Integer, [-1,136]:Integer, [-1,137]:Integer, [-1,138]:Integer, [-1,139]:Integer, [-1,140]:Integer, [-1,141]:Integer, [-1,142]:Integer, [-1,143]:Integer}, intvals: {} [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Pointer, [-1,40,0]:Pointer, [-1,40,0,-1]:Float@float, [-1,40,8]:Integer, [-1,40,9]:Integer, [-1,40,10]:Integer, [-1,40,11]:Integer, [-1,40,12]:Integer, [-1,40,13]:Integer, [-1,40,14]:Integer, [-1,40,15]:Integer, [-1,40,16]:Integer, [-1,40,17]:Integer, [-1,40,18]:Integer, [-1,40,19]:Integer, [-1,40,20]:Integer, [-1,40,21]:Integer, [-1,40,22]:Integer, [-1,40,23]:Integer, [-1,40,24]:Integer, [-1,40,25]:Integer, [-1,40,26]:Integer, [-1,40,27]:Integer, [-1,40,28]:Integer, [-1,40,29]:Integer, [-1,40,30]:Integer, [-1,40,31]:Integer, [-1,40,32]:Integer, [-1,40,33]:Integer, [-1,40,34]:Integer, [-1,40,35]:Integer, [-1,40,36]:Integer, [-1,40,37]:Integer, [-1,40,38]:Integer, [-1,40,39]:Integer, [-1,48]:Integer, [-1,49]:Integer, [-1,50]:Integer, [-1,51]:Integer, [-1,52]:Integer, [-1,53]:Integer, [-1,54]:Integer, [-1,55]:Integer, [-1,56]:Integer, [-1,57]:Integer, [-1,58]:Integer, [-1,59]:Integer, [-1,60]:Integer, [-1,61]:Integer, [-1,62]:Integer, [-1,63]:Integer, [-1,64]:Integer, [-1,65]:Integer, [-1,66]:Integer, [-1,67]:Integer, [-1,68]:Integer, [-1,69]:Integer, [-1,70]:Integer, [-1,71]:Integer, [-1,72]:Integer, [-1,73]:Integer, [-1,74]:Integer, [-1,75]:Integer, [-1,76]:Integer, [-1,77]:Integer, [-1,78]:Integer, [-1,79]:Integer, [-1,80]:Pointer, [-1,80,0]:Pointer, [-1,80,0,-1]:Float@float, [-1,80,8]:Integer, [-1,80,9]:Integer, [-1,80,10]:Integer, [-1,80,11]:Integer, [-1,80,12]:Integer, [-1,80,13]:Integer, [-1,80,14]:Integer, [-1,80,15]:Integer, [-1,80,16]:Integer, [-1,80,17]:Integer, [-1,80,18]:Integer, [-1,80,19]:Integer, [-1,80,20]:Integer, [-1,80,21]:Integer, [-1,80,22]:Integer, [-1,80,23]:Integer, [-1,80,24]:Integer, [-1,80,25]:Integer, [-1,80,26]:Integer, [-1,80,27]:Integer, [-1,80,28]:Integer, [-1,80,29]:Integer, [-1,80,30]:Integer, [-1,80,31]:Integer, [-1,80,32]:Integer, [-1,80,33]:Integer, [-1,80,34]:Integer, [-1,80,35]:Integer, [-1,80,36]:Integer, [-1,80,37]:Integer, [-1,80,38]:Integer, [-1,80,39]:Integer, [-1,88]:Integer, [-1,89]:Integer, [-1,90]:Integer, [-1,91]:Integer, [-1,92]:Integer, [-1,93]:Integer, [-1,94]:Integer, [-1,95]:Integer, [-1,96]:Integer, [-1,97]:Integer, [-1,98]:Integer, [-1,99]:Integer, [-1,100]:Integer, [-1,101]:Integer, [-1,102]:Integer, [-1,103]:Integer, [-1,104]:Integer, [-1,105]:Integer, [-1,106]:Integer, [-1,107]:Integer, [-1,108]:Integer, [-1,109]:Integer, [-1,110]:Integer, [-1,111]:Integer, [-1,112]:Integer, [-1,113]:Integer, [-1,114]:Integer, [-1,115]:Integer, [-1,116]:Integer, [-1,117]:Integer, [-1,118]:Integer, [-1,119]:Integer}, intvals: {} %250 = addrspacecast {} addrspace(10)* %box to {} addrspace(12)*, !dbg !733: {}, intvals: {} %.sroa.0848.0 = phi i64 [ %unbox198, %L694 ], [ %unbox199, %L711 ]: {[-1]:Integer}, intvals: {} %memcpy_refined_dst203 = getelementptr inbounds [2 x [1 x i64]], [2 x [1 x i64]]* %newstruct201, i64 0, i64 0, i64 0, !dbg !727: {[-1]:Pointer, [-1,-1]:Integer}, intvals: {} %memcpy_refined_dst205 = getelementptr inbounds [2 x [1 x i64]], [2 x [1 x i64]]* %newstruct201, i64 0, i64 1, i64 0, !dbg !727: {[-1]:Pointer, [-1,-1]:Integer}, intvals: {} %251 = call noalias nonnull {} addrspace(10)* @ijl_alloc_array_2d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044074922384 to {}*) to {} addrspace(10)*), i64 %.sroa.0852.0, i64 %.sroa.0848.0) #229, !dbg !736: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %252 = addrspacecast {} addrspace(10)* %251 to {} addrspace(10)* addrspace(11)*, !dbg !744: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %arraysize_ptr225 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %252, i64 3, !dbg !744: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer}, intvals: {} %253 = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr225 to i64 addrspace(11)*, !dbg !744: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer}, intvals: {} %arraysize226 = load i64, i64 addrspace(11)* %253, align 8, !dbg !744, !tbaa !224, !range !362, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %.not623 = icmp eq i64 %arraysize226, %.sroa.0852.0, !dbg !748: {[-1]:Integer}, intvals: {} %89 = getelementptr inbounds [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }], [3 x { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 }] addrspace(11)* %3, i64 0, i64 0, i32 1, i64 0, i64 1, !dbg !293: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %107 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* nonnull @ijl_invoke, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043927306144 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140043904669504 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020768 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %105, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140044015020736 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %106) #230, !dbg !326: {}, intvals: {} %79 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %1, i64 0, i64 0, i32 1, i32 0, i64 1, !dbg !258: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %arraysize305 = load i64, i64 addrspace(11)* %308, align 8, !tbaa !224, !range !362, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %330 = getelementptr inbounds float, float addrspace(13)* %arrayptr308659, i64 %329, !dbg !917: {[-1]:Pointer, [-1,0]:Float@float}, intvals: {} %value_phi286.op = add nsw i64 %iv.next4, -1: {[-1]:Integer}, intvals: {0,} %321 = select i1 %.not631, i64 0, i64 %value_phi286.op: {[-1]:Integer}, intvals: {} %322 = mul i64 %arraysize305, %321: {[-1]:Integer}, intvals: {} %arrayptr308659 = load float addrspace(13)*, float addrspace(13)* addrspace(11)* %310, align 8, !tbaa !224, !invariant.load !218, !alias.scope !559, !noalias !268, !nonnull !218: {[-1]:Pointer}, intvals: {} %arraysize322 = load i64, i64 addrspace(11)* %313, align 8, !tbaa !224, !range !362, !invariant.load !218, !alias.scope !265, !noalias !268: {[-1]:Integer}, intvals: {} %323 = select i1 %.not640, i64 0, i64 %value_phi286.op: {[-1]:Integer}, intvals: {} %324 = mul i64 %arraysize322, %323: {[-1]:Integer}, intvals: {} %arrayptr325667 = load float addrspace(13)*, float addrspace(13)* addrspace(11)* %315, align 8, !tbaa !224, !invariant.load !218, !alias.scope !559, !noalias !268, !nonnull !218: {[-1]:Pointer}, intvals: {} %307 = addrspacecast {} addrspace(10)* %306 to {} addrspace(10)* addrspace(11)*: {[-1]:Pointer, [-1,0]:Pointer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer}, intvals: {} %arraysize_ptr304 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %307, i64 3: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %308 = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr304 to i64 addrspace(11)*: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %309 = add i64 %.elt625.elt, -1: {[-1]:Integer}, intvals: {} %310 = addrspacecast {} addrspace(10)* %306 to float addrspace(13)* addrspace(11)*: {[-1]:Pointer, [-1,0]:Pointer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer}, intvals: {} %311 = extractvalue { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } %value_phi251, 0: {[-1]:Pointer, [-1,0]:Pointer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer}, intvals: {} %312 = addrspacecast {} addrspace(10)* %311 to {} addrspace(10)* addrspace(11)*: {[-1]:Pointer, [-1,0]:Pointer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer}, intvals: {} %arraysize_ptr321 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %312, i64 3: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %313 = bitcast {} addrspace(10)* addrspace(11)* %arraysize_ptr321 to i64 addrspace(11)*: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %314 = add i64 %.elt634.elt, -1: {[-1]:Integer}, intvals: {} %315 = addrspacecast {} addrspace(10)* %311 to float addrspace(13)* addrspace(11)*: {[-1]:Pointer, [-1,0]:Pointer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer}, intvals: {} %316 = extractvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } %value_phi274, 0: {[-1]:Pointer, [-1,0]:Pointer}, intvals: {} %317 = extractvalue { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } %value_phi274, 2: {[-1]:Integer}, intvals: {} %318 = add i64 %317, -1: {[-1]:Integer}, intvals: {} %319 = addrspacecast {} addrspace(10)* %316 to float addrspace(13)* addrspace(11)*: {[-1]:Pointer, [-1,0]:Pointer}, intvals: {} %320 = addrspacecast {} addrspace(10)* %251 to float addrspace(13)* addrspace(11)*: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@float, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer}, intvals: {} %iv = phi i64 [ %iv.next, %L569 ], [ 0, %L347.preheader ]: {[-1]:Integer}, intvals: {0,} %iv.next6 = add nuw nsw i64 %iv5, 1, !dbg !900: {[-1]:Integer}, intvals: {1,} %iv1 = phi i64 [ %iv.next2, %L356 ], [ 0, %L356.lr.ph ]: {[-1]:Integer}, intvals: {0,} %iv.next2 = add nuw nsw i64 %iv1, 1, !dbg !562: {[-1]:Integer}, intvals: {1,} call void @zeroType.129({} addrspace(10)* %60, i8 0, i64 8), !enzyme_zerostack !218: {}, intvals: {} %61 = bitcast {} addrspace(10)* %60 to [1 x {} addrspace(10)*] addrspace(10)*, !enzyme_caststack !218: {[-1]:Pointer, [-1,-1]:Pointer}, intvals: {} %279 = addrspacecast [1 x {} addrspace(10)*] addrspace(10)* %61 to [1 x {} addrspace(10)*]*, !dbg !812: {[-1]:Pointer, [-1,-1]:Pointer}, intvals: {} %69 = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) i8* @malloc(i64 16), !enzyme_fromstack !219: {[-1]:Pointer}, intvals: {} %71 = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) i8* @malloc(i64 16), !enzyme_fromstack !219: {[-1]:Pointer}, intvals: {} %278 = addrspacecast { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %47 to { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }*, !dbg !812: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer, [-1,41]:Integer, [-1,42]:Integer, [-1,43]:Integer, [-1,44]:Integer, [-1,45]:Integer, [-1,46]:Integer, [-1,47]:Integer}, intvals: {} %unbox557.elt687 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %47, i64 0, i32 2, !dbg !777: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox557.elt689 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %47, i64 0, i32 3, !dbg !777: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %4 = call {}*** @julia.get_pgcstack(): {[-1]:Pointer}, intvals: {} %56 = getelementptr inbounds {}*, {}** %55, i64 -14: {[-1]:Pointer}, intvals: {} %57 = getelementptr inbounds {}*, {}** %56, i64 16: {[-1]:Pointer}, intvals: {} %58 = bitcast {}** %57 to i8**: {[-1]:Pointer}, intvals: {} %59 = load i8*, i8** %58, align 8: {}, intvals: {} %60 = call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) {} addrspace(10)* @julia.gc_alloc_obj({}** %56, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038516473040 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !219: {[-1]:Pointer, [-1,-1]:Pointer}, intvals: {} %iv.next = add nuw nsw i64 %iv, 1, !dbg !558: {[-1]:Integer}, intvals: {1,} %240 = getelementptr inbounds [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }], [3 x { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }] addrspace(11)* %2, i64 0, i64 1, i32 1, i32 1, i64 0, i64 0, !dbg !729: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} call void @zeroType.128({} addrspace(10)* %46, i8 0, i64 48), !enzyme_zerostack !218: {}, intvals: {} %47 = bitcast {} addrspace(10)* %46 to { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)*, !enzyme_caststack !218: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer, [-1,41]:Integer, [-1,42]:Integer, [-1,43]:Integer, [-1,44]:Integer, [-1,45]:Integer, [-1,46]:Integer, [-1,47]:Integer}, intvals: {} call void @zeroType.127({} addrspace(10)* %32, i8 0, i64 8), !enzyme_zerostack !218: {}, intvals: {} %33 = bitcast {} addrspace(10)* %32 to [1 x {} addrspace(10)*] addrspace(10)*, !enzyme_caststack !218: {[-1]:Pointer, [-1,-1]:Pointer}, intvals: {} %262 = addrspacecast [1 x {} addrspace(10)*] addrspace(10)* %33 to [1 x {} addrspace(10)*]*, !dbg !761: {[-1]:Pointer, [-1,-1]:Pointer}, intvals: {} %5 = call {}*** @julia.get_pgcstack(): {[-1]:Pointer}, intvals: {} %42 = getelementptr inbounds {}*, {}** %41, i64 -14: {[-1]:Pointer}, intvals: {} %43 = getelementptr inbounds {}*, {}** %42, i64 16: {[-1]:Pointer}, intvals: {} %44 = bitcast {}** %43 to i8**: {[-1]:Pointer}, intvals: {} %45 = load i8*, i8** %44, align 8: {}, intvals: {} %46 = call noalias nonnull dereferenceable(48) dereferenceable_or_null(48) {} addrspace(10)* @julia.gc_alloc_obj({}** %42, i64 48, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038479368720 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !219: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer, [-1,41]:Integer, [-1,42]:Integer, [-1,43]:Integer, [-1,44]:Integer, [-1,45]:Integer, [-1,46]:Integer, [-1,47]:Integer}, intvals: {} %unbox543.elt718 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %19, i64 0, i32 2, !dbg !777: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox543.elt720 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %19, i64 0, i32 3, !dbg !777: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %6 = call {}*** @julia.get_pgcstack(): {[-1]:Pointer}, intvals: {} %28 = getelementptr inbounds {}*, {}** %27, i64 -14: {[-1]:Pointer}, intvals: {} %29 = getelementptr inbounds {}*, {}** %28, i64 16: {[-1]:Pointer}, intvals: {} %30 = bitcast {}** %29 to i8**: {[-1]:Pointer}, intvals: {} %31 = load i8*, i8** %30, align 8: {}, intvals: {} %32 = call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) {} addrspace(10)* @julia.gc_alloc_obj({}** %28, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038516473040 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !219: {[-1]:Pointer, [-1,-1]:Pointer}, intvals: {} call void @zeroType.126({} addrspace(10)* %18, i8 0, i64 48), !enzyme_zerostack !218: {}, intvals: {} %19 = bitcast {} addrspace(10)* %18 to { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)*, !enzyme_caststack !218: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer, [-1,41]:Integer, [-1,42]:Integer, [-1,43]:Integer, [-1,44]:Integer, [-1,45]:Integer, [-1,46]:Integer, [-1,47]:Integer}, intvals: {} %261 = addrspacecast { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %19 to { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }*, !dbg !761: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer, [-1,41]:Integer, [-1,42]:Integer, [-1,43]:Integer, [-1,44]:Integer, [-1,45]:Integer, [-1,46]:Integer, [-1,47]:Integer}, intvals: {} %unbox543.elt = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %19, i64 0, i32 0, !dbg !777: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer}, intvals: {} call void @zeroType.125({} addrspace(10)* %25, i8 0, i64 8), !enzyme_zerostack !218: {}, intvals: {} %26 = bitcast {} addrspace(10)* %25 to [1 x {} addrspace(10)*] addrspace(10)*, !enzyme_caststack !218: {[-1]:Pointer, [-1,-1]:Pointer}, intvals: {} %142 = addrspacecast [1 x {} addrspace(10)*] addrspace(10)* %26 to [1 x {} addrspace(10)*]*, !dbg !456: {[-1]:Pointer, [-1,-1]:Pointer}, intvals: {} %12 = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) i8* @malloc(i64 16), !enzyme_fromstack !219: {[-1]:Pointer, [-1,-1]:Integer}, intvals: {} %7 = call {}*** @julia.get_pgcstack(): {[-1]:Pointer}, intvals: {} %14 = getelementptr inbounds {}*, {}** %13, i64 -14: {[-1]:Pointer}, intvals: {} %15 = getelementptr inbounds {}*, {}** %14, i64 16: {[-1]:Pointer}, intvals: {} %16 = bitcast {}** %15 to i8**: {[-1]:Pointer}, intvals: {} %17 = load i8*, i8** %16, align 8: {}, intvals: {} %18 = call noalias nonnull dereferenceable(48) dereferenceable_or_null(48) {} addrspace(10)* @julia.gc_alloc_obj({}** %14, i64 48, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038479368720 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !219: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer, [-1,41]:Integer, [-1,42]:Integer, [-1,43]:Integer, [-1,44]:Integer, [-1,45]:Integer, [-1,46]:Integer, [-1,47]:Integer}, intvals: {} %22 = getelementptr inbounds {}*, {}** %21, i64 16: {[-1]:Pointer}, intvals: {} %23 = bitcast {}** %22 to i8**: {[-1]:Pointer}, intvals: {} %24 = load i8*, i8** %23, align 8: {}, intvals: {} %25 = call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) {} addrspace(10)* @julia.gc_alloc_obj({}** %21, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038516473040 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !219: {[-1]:Pointer, [-1,-1]:Pointer}, intvals: {} call void @zeroType.124({} addrspace(10)* %39, i8 0, i64 48), !enzyme_zerostack !218: {}, intvals: {} %40 = bitcast {} addrspace(10)* %39 to { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)*, !enzyme_caststack !218: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer, [-1,41]:Integer, [-1,42]:Integer, [-1,43]:Integer, [-1,44]:Integer, [-1,45]:Integer, [-1,46]:Integer, [-1,47]:Integer}, intvals: {} %141 = addrspacecast { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %40 to { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }*, !dbg !456: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer, [-1,41]:Integer, [-1,42]:Integer, [-1,43]:Integer, [-1,44]:Integer, [-1,45]:Integer, [-1,46]:Integer, [-1,47]:Integer}, intvals: {} %unbox480.elt = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %40, i64 0, i32 0, !dbg !409: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer}, intvals: {} %8 = call {}*** @julia.get_pgcstack(): {[-1]:Pointer}, intvals: {} %21 = getelementptr inbounds {}*, {}** %20, i64 -14: {[-1]:Pointer}, intvals: {} call void @zeroType.123({} addrspace(10)* %53, i8 0, i64 8), !enzyme_zerostack !218: {}, intvals: {} %133 = addrspacecast [1 x {} addrspace(10)*] addrspace(10)* %54 to [1 x {} addrspace(10)*]*, !dbg !383: {[-1]:Pointer, [-1,-1]:Pointer}, intvals: {} %9 = call {}*** @julia.get_pgcstack(): {[-1]:Pointer}, intvals: {} %35 = getelementptr inbounds {}*, {}** %34, i64 -14: {[-1]:Pointer}, intvals: {} %36 = getelementptr inbounds {}*, {}** %35, i64 16: {[-1]:Pointer}, intvals: {} %37 = bitcast {}** %36 to i8**: {[-1]:Pointer}, intvals: {} %38 = load i8*, i8** %37, align 8: {}, intvals: {} %39 = call noalias nonnull dereferenceable(48) dereferenceable_or_null(48) {} addrspace(10)* @julia.gc_alloc_obj({}** %35, i64 48, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038479368720 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !219: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer, [-1,41]:Integer, [-1,42]:Integer, [-1,43]:Integer, [-1,44]:Integer, [-1,45]:Integer, [-1,46]:Integer, [-1,47]:Integer}, intvals: {} %51 = bitcast {}** %50 to i8**: {[-1]:Pointer}, intvals: {} %52 = load i8*, i8** %51, align 8: {}, intvals: {} %53 = call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) {} addrspace(10)* @julia.gc_alloc_obj({}** %49, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038516473040 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !219: {[-1]:Pointer, [-1,-1]:Pointer}, intvals: {} %54 = bitcast {} addrspace(10)* %53 to [1 x {} addrspace(10)*] addrspace(10)*, !enzyme_caststack !218: {[-1]:Pointer, [-1,-1]:Pointer}, intvals: {} call void @zeroType.122({} addrspace(10)* %67, i8 0, i64 48), !enzyme_zerostack !218: {}, intvals: {} %68 = bitcast {} addrspace(10)* %67 to { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)*, !enzyme_caststack !218: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer, [-1,41]:Integer, [-1,42]:Integer, [-1,43]:Integer, [-1,44]:Integer, [-1,45]:Integer, [-1,46]:Integer, [-1,47]:Integer}, intvals: {} %132 = addrspacecast { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %68 to { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }*, !dbg !383: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer, [-1,41]:Integer, [-1,42]:Integer, [-1,43]:Integer, [-1,44]:Integer, [-1,45]:Integer, [-1,46]:Integer, [-1,47]:Integer}, intvals: {} %unbox466.elt = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %68, i64 0, i32 0, !dbg !409: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer}, intvals: {} %unbox466.unpack794.unpack.elt = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %68, i64 0, i32 1, i32 0, i64 0, !dbg !409: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %unbox466.unpack794.unpack.elt803 = getelementptr { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 }, { {} addrspace(10)*, { [2 x i64], [1 x [1 x i64]] }, i64, i64 } addrspace(10)* %68, i64 0, i32 1, i32 0, i64 1, !dbg !409: {[-1]:Pointer, [-1,0]:Integer, [-1,1]:Integer, [-1,2]:Integer, [-1,3]:Integer, [-1,4]:Integer, [-1,5]:Integer, [-1,6]:Integer, [-1,7]:Integer}, intvals: {} %10 = call {}*** @julia.get_pgcstack(): {[-1]:Pointer}, intvals: {} %49 = getelementptr inbounds {}*, {}** %48, i64 -14: {[-1]:Pointer}, intvals: {} %50 = getelementptr inbounds {}*, {}** %49, i64 16: {[-1]:Pointer}, intvals: {} %72 = call {}*** @julia.get_pgcstack() #228: {[-1]:Pointer, [-1,16]:Pointer}, intvals: {} %newstruct29 = bitcast i8* %70 to [2 x [1 x i64]]*, !enzyme_caststack !218: {[-1]:Pointer, [-1,-1]:Integer}, intvals: {} %63 = getelementptr inbounds {}*, {}** %62, i64 -14: {[-1]:Pointer}, intvals: {} %64 = getelementptr inbounds {}*, {}** %63, i64 16: {[-1]:Pointer}, intvals: {} %65 = bitcast {}** %64 to i8**: {[-1]:Pointer}, intvals: {} %66 = load i8*, i8** %65, align 8: {}, intvals: {} %67 = call noalias nonnull dereferenceable(48) dereferenceable_or_null(48) {} addrspace(10)* @julia.gc_alloc_obj({}** %63, i64 48, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140038479368720 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !219: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,0]:Pointer, [-1,0,0,-1]:Float@float, [-1,0,8]:Integer, [-1,0,9]:Integer, [-1,0,10]:Integer, [-1,0,11]:Integer, [-1,0,12]:Integer, [-1,0,13]:Integer, [-1,0,14]:Integer, [-1,0,15]:Integer, [-1,0,16]:Integer, [-1,0,17]:Integer, [-1,0,18]:Integer, [-1,0,19]:Integer, [-1,0,20]:Integer, [-1,0,21]:Integer, [-1,0,22]:Integer, [-1,0,23]:Integer, [-1,0,24]:Integer, [-1,0,25]:Integer, [-1,0,26]:Integer, [-1,0,27]:Integer, [-1,0,28]:Integer, [-1,0,29]:Integer, [-1,0,30]:Integer, [-1,0,31]:Integer, [-1,0,32]:Integer, [-1,0,33]:Integer, [-1,0,34]:Integer, [-1,0,35]:Integer, [-1,0,36]:Integer, [-1,0,37]:Integer, [-1,0,38]:Integer, [-1,0,39]:Integer, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer, [-1,41]:Integer, [-1,42]:Integer, [-1,43]:Integer, [-1,44]:Integer, [-1,45]:Integer, [-1,46]:Integer, [-1,47]:Integer}, intvals: {} %11 = call {}*** @julia.get_pgcstack(): {[-1]:Pointer}, intvals: {} Cannot deduce type of phi %value_phi274 = phi { {} addrspace(10)*, [1 x [2 x i64]], i64, i64 } [ %299, %L882 ], [ zeroinitializer, %L914 ], [ %unbox571680, %guard_pass569 ] Caused by: Stacktrace: [1] getproperty @ ./Base.jl:37 [2] axes @ ./subarray.jl:488 [3] newindexer @ ./broadcast.jl:625 [4] extrude @ ./broadcast.jl:676 [5] preprocess @ ./broadcast.jl:984 [6] preprocess_args @ ./broadcast.jl:987 [7] preprocess_args (repeats 2 times) @ ./broadcast.jl:986 [8] preprocess @ ./broadcast.jl:983 [9] preprocess_args @ ./broadcast.jl:987 [10] preprocess @ ./broadcast.jl:983 [11] copyto! @ ./broadcast.jl:1000 [12] copyto! @ ./broadcast.jl:956 [13] copy @ ./broadcast.jl:928 [14] materialize @ ./broadcast.jl:903 [15] _gru_output @ ~/.julia/packages/Flux/AQc9Q/src/layers/recurrent.jl:369 Stacktrace: [1] throwerr(cstr::Cstring) @ Enzyme.Compiler ~/.julia/dev/Enzyme/src/compiler.jl:1319 [2] _gru_output @ ./essentials.jl:0 [3] GRUCell @ ~/.julia/packages/Flux/AQc9Q/src/layers/recurrent.jl:388 [4] Recur @ ~/.julia/packages/Flux/AQc9Q/src/layers/recurrent.jl:134 [inlined] [5] loss @ ./REPL[3]:1 [inlined] [6] diffejulia_loss_2326wrap @ ./REPL[3]:0 [7] macro expansion @ Enzyme.Compiler ~/.julia/dev/Enzyme/src/compiler.jl:5310 [inlined] [8] enzyme_call(::Val{…}, ::Ptr{…}, ::Type{…}, ::Type{…}, ::Val{…}, ::Type{…}, ::Type{…}, ::Const{…}, ::Type{…}, ::Duplicated{…}, ::Const{…}, ::Float32) @ Enzyme.Compiler ~/.julia/dev/Enzyme/src/compiler.jl:4988 [9] (::Enzyme.Compiler.CombinedAdjointThunk{…})(::Const{…}, ::Duplicated{…}, ::Vararg{…}) @ Enzyme.Compiler ~/.julia/dev/Enzyme/src/compiler.jl:4930 [10] autodiff(::ReverseMode{false, FFIABI}, ::Const{typeof(loss)}, ::Type{Active}, ::Duplicated{Flux.Recur{Flux.GRUCell{…}, Matrix{…}}}, ::Vararg{Any}) @ Enzyme ~/.julia/dev/Enzyme/src/Enzyme.jl:215 [11] autodiff(::ReverseMode{false, FFIABI}, ::typeof(loss), ::Type, ::Duplicated{Flux.Recur{Flux.GRUCell{…}, Matrix{…}}}, ::Vararg{Any}) @ Enzyme ~/.julia/dev/Enzyme/src/Enzyme.jl:224 [12] top-level scope @ REPL[3]:7 Some type information was truncated. Use `show(err)` to see complete types.