digraph ipu_stack_package_partition {
  graph [rankdir=LR, bgcolor="white", fontname="DejaVu Sans", fontsize=17,
         label="ipu_codegen::kernel — package build/run detail", labelloc=t, labeljust=l, pad=0.2, nodesep=0.3, ranksep=0.75, newrank=true, overlap=false, splines=polyline, outputorder=edgesfirst];
  node [fontname="DejaVu Sans", fontsize=9, style="rounded,filled", color="#52606d", penwidth=0.8];
  edge [fontname="DejaVu Sans", fontsize=7, color="#52606d", arrowsize=0.55, penwidth=0.8];
  subgraph cluster_primary { label="primary nodes"; color="#d9e8fb"; style="rounded";
    f18 [label="ipu_codegen::kernel::KernelBuildPlan::call", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub fn call(&self, run: &KernelRun) -> Result<PlannedKernelCall, KernelAbiError> — crates/ipu-codegen/src/kernel.rs:711"];
    f17 [label="ipu_codegen::kernel::KernelBuildPlan::from_program", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="/// Derives device objects from the finalized schedule, so row variants are /// compiler specializations rather than a fixed collection of binaries. pub fn from_program(program: &LowProgram) -> Result<Self, KernelAbiError> — crates/ipu-codegen/src/kernel.rs:197"];
    f19 [label="ipu_codegen::kernel::KernelBuildPlan::retained_symbols", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub fn retained_symbols(&self) -> impl Iterator<Item = &str> — crates/ipu-codegen/src/kernel.rs:806"];
    f5 [label="ipu_codegen::kernel::RearrangeTarget::codelet_index", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="const fn codelet_index(self) -> u32 — crates/ipu-codegen/src/kernel.rs:113"];
    f26 [label="ipu_codegen::kernel::RearrangeTarget::from_order", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn from_order(order: ElementOrder) -> Option<Self> — crates/ipu-codegen/src/kernel.rs:99"];
    f24 [label="ipu_codegen::kernel::UnpackSource::codelet_index", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="const fn codelet_index(self) -> u32 — crates/ipu-codegen/src/kernel.rs:89"];
    f21 [label="ipu_codegen::kernel::UnpackSource::from_order", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn from_order(order: ElementOrder) -> Option<Self> — crates/ipu-codegen/src/kernel.rs:82"];
    f22 [label="ipu_codegen::kernel::add_address_offset", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn add_address_offset( address: TileAddress, offset: u32, ) -> Result<TileAddress, KernelMaterializationError> — crates/ipu-codegen/src/kernel.rs:865"];
    f25 [label="ipu_codegen::kernel::attention_shape", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn attention_shape(run: &KernelRun) -> Result<AttentionKernelShape, KernelAbiError> — crates/ipu-codegen/src/kernel.rs:984"];
    f14 [label="ipu_codegen::kernel::cast_symbol", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn cast_symbol(from: Precision, to: Precision) -> &'static str — crates/ipu-codegen/src/kernel.rs:1518"];
    f23 [label="ipu_codegen::kernel::collect_kernels", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn collect_kernels( program: &LowProgram, tile: &TileWorkList, rows: &mut BTreeMap<(Precision, GemmWeightLoad, u32, u32), BTreeSet<u32>>, gelu: &mut bool, reduction_add: &mut bool, rearrangements: &mut BTreeSet<(RearrangeTarget, u32, u32, u32, u32)>, unpacks: &mut BTreeSet<(UnpackSource, u32, u32, u32, u32)>, attention: &mut BTreeSet<AttentionKernelShape>, attention_stages: &mut Vec<(TileKernelSpec, u32)>, ) -> Result<(), KernelAbiError> — crates/ipu-codegen/src/kernel.rs:887"];
    f7 [label="ipu_codegen::kernel::element_count", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn element_count(run: &KernelRun) -> Result<u32, KernelAbiError> — crates/ipu-codegen/src/kernel.rs:1193"];
    f13 [label="ipu_codegen::kernel::exact_symbol", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn exact_symbol( precision: Precision, f16_symbol: &'static str, f32_symbol: &'static str, ) -> KernelSymbols — crates/ipu-codegen/src/kernel.rs:1506"];
    f11 [label="ipu_codegen::kernel::gelu_symbol", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn gelu_symbol(requirements: &KernelRequirements) -> Option<&'static str> — crates/ipu-codegen/src/kernel.rs:1435"];
    f0 [label="ipu_codegen::kernel::gemm_rows", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn gemm_rows(run: &KernelRun) -> Result<u32, KernelAbiError> — crates/ipu-codegen/src/kernel.rs:1041"];
    f12 [label="ipu_codegen::kernel::gemm_symbols", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn gemm_symbols( precision: Precision, mode: GemmKernelMode, weights: GemmWeightLoad, output_columns: u32, ) -> (KernelSymbols, KernelAvailability) — crates/ipu-codegen/src/kernel.rs:1452"];
    f2 [label="ipu_codegen::kernel::input_matrix_extent", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn input_matrix_extent( run: &KernelRun, logical: bool, columns: bool, ) -> Result<u32, KernelAbiError> — crates/ipu-codegen/src/kernel.rs:1084"];
    f20 [label="ipu_codegen::kernel::materialize_kernel_run", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="/// Resolves one scheduled call after placement has assigned each shard base. /// Layout conversion supplies the byte offset; the build plan supplies the /// linked specialization and ABI scalar values. pub fn materialize_kernel_run( run: &KernelRun, shards: &[LowShard], shard_addresses: &BTreeMap<LowShardId, u32>, plan: &KernelBuildPlan, overrides: &BTreeMap<LowShardId, TileAddress>, ) -> Result<ComputeStep, KernelMaterializationError> — crates/ipu-codegen/src/kernel.rs:813"];
    f3 [label="ipu_codegen::kernel::matrix_count", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn matrix_count(run: &KernelRun) -> Result<u32, KernelAbiError> — crates/ipu-codegen/src/kernel.rs:1106"];
    f1 [label="ipu_codegen::kernel::matrix_extent", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn matrix_extent(run: &KernelRun, logical: bool, columns: bool) -> Result<u32, KernelAbiError> — crates/ipu-codegen/src/kernel.rs:1071"];
    f8 [label="ipu_codegen::kernel::output_byte_count", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn output_byte_count(run: &KernelRun) -> Result<u32, KernelAbiError> — crates/ipu-codegen/src/kernel.rs:1201"];
    f4 [label="ipu_codegen::kernel::rearrangement_specialization", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn rearrangement_specialization( order: RearrangeTarget, logical_rows: u32, physical_rows: u32, logical_columns: u32, physical_columns: u32, ) -> (RearrangeTarget, u32, u32, u32, u32) — crates/ipu-codegen/src/kernel.rs:1121"];
    f15 [label="ipu_codegen::kernel::scalar_arguments", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn scalar_arguments(input_count: u8, names: &[&'static str]) -> Vec<ScalarArgument> — crates/ipu-codegen/src/kernel.rs:1530"];
    f6 [label="ipu_codegen::kernel::scalar_values", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn scalar_values(run: &KernelRun, abi: &KernelAbi) -> Result<Vec<u32>, KernelAbiError> — crates/ipu-codegen/src/kernel.rs:1147"];
    f16 [label="ipu_codegen::kernel::specialized_gemm_symbol", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn specialized_gemm_symbol( prefix: &str, mode: GemmKernelMode, weight_suffix: &str, inner_block: u32, output_columns: u32, size: &str, small_rows: u32, large_rows: u32, ) -> String — crates/ipu-codegen/src/kernel.rs:176"];
    f9 [label="ipu_codegen::kernel::tile_kernel_abi", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub fn tile_kernel_abi( kernel: &TileKernelSpec, requirements: &KernelRequirements, ) -> Result<KernelAbi, KernelAbiError> — crates/ipu-codegen/src/kernel.rs:1213"];
    f10 [label="ipu_codegen::kernel::validate_kernel_run", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub fn validate_kernel_run(run: &KernelRun) -> Result<KernelAbi, KernelAbiError> — crates/ipu-codegen/src/kernel.rs:1382"];
    t0 [label="ipu_codegen::kernel::AttentionKernelShape\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/kernel.rs:124"];
    t7 [label="ipu_codegen::kernel::KernelAbi\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/kernel.rs:40"];
    t2 [label="ipu_codegen::kernel::KernelAbiError\n«enum»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/kernel.rs:140"];
    t5 [label="ipu_codegen::kernel::KernelAvailability\n«enum»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/kernel.rs:28"];
    t9 [label="ipu_codegen::kernel::KernelBuildPlan\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/kernel.rs:58"];
    t8 [label="ipu_codegen::kernel::KernelCompilation\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/kernel.rs:50"];
    t3 [label="ipu_codegen::kernel::KernelMaterializationError\n«enum»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/kernel.rs:164"];
    t4 [label="ipu_codegen::kernel::KernelSymbols\n«enum»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/kernel.rs:18"];
    t1 [label="ipu_codegen::kernel::PlannedKernelCall\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/kernel.rs:134"];
    t10 [label="ipu_codegen::kernel::RearrangeTarget\n«enum»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/kernel.rs:69"];
    t6 [label="ipu_codegen::kernel::ScalarArgument\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/kernel.rs:34"];
    t11 [label="ipu_codegen::kernel::UnpackSource\n«enum»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/kernel.rs:76"];
  }
  subgraph cluster_external { label="outgoing references — click to open target partition"; color="#d9d9d9"; style="rounded,dashed";
    xf0 [label="ipu_codegen::graph::AttentionScale::as_value", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-graph.svg", target="_top", tooltip="open target partition"];
    xf1 [label="ipu_codegen::layout::TensorRegion::deref", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-layout.svg", target="_top", tooltip="open target partition"];
    xf2 [label="ipu_codegen::low::KernelRun::deref", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-low-part-1.svg", target="_top", tooltip="open target partition"];
    xf4 [label="ipu_codegen::low::LowProgram::work", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-low-part-1.svg", target="_top", tooltip="open target partition"];
    xf3 [label="ipu_codegen::low::LowShardId::index", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-low-part-1.svg", target="_top", tooltip="open target partition"];
    xf5 [label="ipu_codegen::low::format", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-low-part-1.svg", target="_top", tooltip="open target partition"];
    xf7 [label="ipu_codegen::mid::LoweringState::get", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-mid.svg", target="_top", tooltip="open target partition"];
    xf6 [label="ipu_codegen::mid::format", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-mid.svg", target="_top", tooltip="open target partition"];
    xf8 [label="ipu_codegen::operator::Precision::bytes", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-operator.svg", target="_top", tooltip="open target partition"];
    xf9 [label="ipu_codegen::place::DisjointSets::find", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-place.svg", target="_top", tooltip="open target partition"];
    xf10 [label="ipu_codegen::storage::view_byte_spans", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-storage.svg", target="_top", tooltip="open target partition"];
    xf11 [label="ipu_package::AddressRegion::contains", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-package.svg", target="_top", tooltip="open target partition"];
    xt0 [label="ipu_codegen::graph::Repeat\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-graph.svg", target="_top", tooltip="open defining partition"];
    xt4 [label="ipu_codegen::layout::AmpOrder\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-layout.svg", target="_top", tooltip="open defining partition"];
    xt1 [label="ipu_codegen::layout::BlockMajorOrder\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-layout.svg", target="_top", tooltip="open defining partition"];
    xt3 [label="ipu_codegen::layout::ElementOrder\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-layout.svg", target="_top", tooltip="open defining partition"];
    xt2 [label="ipu_codegen::layout::Layout\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-layout.svg", target="_top", tooltip="open defining partition"];
    xt7 [label="ipu_codegen::low::KernelOperand\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-low-part-2.svg", target="_top", tooltip="open defining partition"];
    xt6 [label="ipu_codegen::low::KernelRequirements\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-low-part-2.svg", target="_top", tooltip="open defining partition"];
    xt8 [label="ipu_codegen::low::KernelRun\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-low-part-2.svg", target="_top", tooltip="open defining partition"];
    xt9 [label="ipu_codegen::low::LocalCopy\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-low-part-2.svg", target="_top", tooltip="open defining partition"];
    xt13 [label="ipu_codegen::low::LowProgram\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-low-part-2.svg", target="_top", tooltip="open defining partition"];
    xt5 [label="ipu_codegen::low::LowShard\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-low-part-2.svg", target="_top", tooltip="open defining partition"];
    xt10 [label="ipu_codegen::low::LowShardId\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-low-part-2.svg", target="_top", tooltip="open defining partition"];
    xt14 [label="ipu_codegen::low::ShardView\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-low-part-2.svg", target="_top", tooltip="open defining partition"];
    xt12 [label="ipu_codegen::low::TileWorkList\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-low-part-2.svg", target="_top", tooltip="open defining partition"];
    xt11 [label="ipu_codegen::low::TileWorkRef\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-low-part-2.svg", target="_top", tooltip="open defining partition"];
    xt17 [label="ipu_codegen::operator::AccumulationPrecision\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-operator.svg", target="_top", tooltip="open defining partition"];
    xt19 [label="ipu_codegen::operator::GemmKernelMode\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-operator.svg", target="_top", tooltip="open defining partition"];
    xt15 [label="ipu_codegen::operator::GemmWeightLoad\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-operator.svg", target="_top", tooltip="open defining partition"];
    xt16 [label="ipu_codegen::operator::Precision\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-operator.svg", target="_top", tooltip="open defining partition"];
    xt18 [label="ipu_codegen::operator::TileKernelSpec\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-operator.svg", target="_top", tooltip="open defining partition"];
    xt20 [label="ipu_codegen::program::ComputeStep\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-program.svg", target="_top", tooltip="open defining partition"];
    xt22 [label="ipu_codegen::program::RepeatPointer\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-program.svg", target="_top", tooltip="open defining partition"];
    xt21 [label="ipu_codegen::program::StepProfile\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-program.svg", target="_top", tooltip="open defining partition"];
    xt23 [label="ipu_codegen::program::TileAddress\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-program.svg", target="_top", tooltip="open defining partition"];
  }
  f0 -> xf1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f0 -> xf2 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f0 -> t2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f0 -> xt3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f0 -> xt4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f0 -> xt6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f0 -> xt8 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f1 -> xf1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f1 -> t2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f1 -> xt8 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f2 -> xf1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f2 -> t2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f2 -> xt8 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f3 -> xf1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f3 -> t2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f3 -> xt8 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f4 -> t10 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f6 -> f1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f6 -> f3 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f6 -> f7 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f6 -> f8 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f6 -> f26 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f6 -> xf2 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f6 -> t2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f6 -> t7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f6 -> t10 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f6 -> xt2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f6 -> xt8 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f6 -> xt16 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f6 -> xt18 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f7 -> xf1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f7 -> t2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f7 -> xt8 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f8 -> f7 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f8 -> xf2 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f8 -> xf8 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f8 -> t2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f8 -> xt6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f8 -> xt8 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> f11 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f9 -> f12 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f9 -> f13 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f9 -> f14 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f9 -> f15 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f9 -> f21 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f9 -> t2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> t4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> t5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> t7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> t11 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> xt1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> xt3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> xt4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> xt6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> xt15 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> xt16 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> xt18 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f10 -> f7 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f10 -> f8 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f10 -> f9 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f10 -> xf2 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f10 -> t2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f10 -> t4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f10 -> t7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f10 -> xt8 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f10 -> xt18 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xt6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xt16 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f12 -> xf5 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f12 -> xf6 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f12 -> t4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f12 -> t5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f12 -> xt15 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f12 -> xt16 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f12 -> xt19 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f13 -> t4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f13 -> xt16 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f14 -> xt16 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f15 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f16 -> xf5 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f16 -> xf6 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f16 -> xt19 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> f5 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f17 -> f16 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f17 -> f23 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f17 -> f24 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f17 -> xf5 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f17 -> xf6 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f17 -> t2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> t8 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> t10 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> xt13 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> xt15 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> xt16 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> xt18 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> xt19 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f18 -> f0 [color="#2166ac", style="dotted", tooltip="source fallback (conservative)"];
  f18 -> f1 [color="#2166ac", style="dotted", tooltip="source fallback (conservative)"];
  f18 -> f2 [color="#2166ac", style="dotted", tooltip="source fallback (conservative)"];
  f18 -> f4 [color="#2166ac", style="dotted", tooltip="source fallback (conservative)"];
  f18 -> f6 [color="#2166ac", style="dotted", tooltip="source fallback (conservative)"];
  f18 -> f10 [color="#2166ac", style="dotted", tooltip="source fallback (conservative)"];
  f18 -> f21 [color="#2166ac", style="dotted", tooltip="source fallback (conservative)"];
  f18 -> f25 [color="#2166ac", style="dotted", tooltip="source fallback (conservative)"];
  f18 -> f26 [color="#2166ac", style="dotted", tooltip="source fallback (conservative)"];
  f18 -> xf7 [color="#2166ac", style="dotted", tooltip="source fallback (conservative)"];
  f18 -> xf9 [color="#2166ac", style="dotted", tooltip="source fallback (conservative)"];
  f18 -> xf11 [color="#2166ac", style="dotted", tooltip="source fallback (conservative)"];
  f18 -> t1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f18 -> t2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f18 -> t4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f18 -> t5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f18 -> t10 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f18 -> t11 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f18 -> xt2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f18 -> xt8 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f18 -> xt18 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f20 -> f18 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f20 -> f22 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f20 -> xf3 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f20 -> xf10 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f20 -> t3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f20 -> t9 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f20 -> xt2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f20 -> xt5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f20 -> xt8 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f20 -> xt10 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f20 -> xt14 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f20 -> xt20 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f20 -> xt21 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f20 -> xt23 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f21 -> xt3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f21 -> xt4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f22 -> t3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f22 -> xt22 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f22 -> xt23 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> f0 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> f1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> f2 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> f4 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> f10 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> f21 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> f25 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> f26 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> xf2 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> xf4 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> t0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> t2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> t5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> t10 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> t11 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> xt2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> xt3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> xt9 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> xt11 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> xt12 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> xt13 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> xt15 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> xt16 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> xt18 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f25 -> xf0 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f25 -> xf1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f25 -> xf2 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f25 -> t0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f25 -> t2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f25 -> xt7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f25 -> xt8 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f25 -> xt17 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f25 -> xt18 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f26 -> xt1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f26 -> xt3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f26 -> xt4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  legend [shape=note, style="filled", fillcolor="#ffffff", color="#9aa5b1", fontsize=8,
          label="Solid: MIR-resolved call   Dotted: source fallback\nDashed, no arrow: uses type   Dashed node: link to another partition\nBlue: build   Green: run   Purple: shared"];
}
