digraph ipu_stack_package_partition {
  graph [rankdir=LR, bgcolor="white", fontname="DejaVu Sans", fontsize=17,
         label="ipu_codegen::place — 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";
    f16 [label="ipu_codegen::place::Arena::allocate", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn allocate(&mut self, bytes: u32, alignment: u32, first: u32, last: u32) -> Option<u32> — crates/ipu-codegen/src/place.rs:723"];
    f19 [label="ipu_codegen::place::Arena::maximum_cursor", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn maximum_cursor(&self) -> u32 — crates/ipu-codegen/src/place.rs:782"];
    f15 [label="ipu_codegen::place::Arena::new", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn new(ranges: &[(u32, u32)], compact_low: bool) -> Self — crates/ipu-codegen/src/place.rs:713"];
    f18 [label="ipu_codegen::place::Arena::release", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn release(&mut self, base: u32, limit: u32) — crates/ipu-codegen/src/place.rs:769"];
    f20 [label="ipu_codegen::place::Arena::unused_ranges", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn unused_ranges(&self) -> Vec<(u32, u32)> — crates/ipu-codegen/src/place.rs:786"];
    f24 [label="ipu_codegen::place::DisjointSets::find", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn find(&mut self, value: usize) -> usize — crates/ipu-codegen/src/place.rs:841"];
    f22 [label="ipu_codegen::place::DisjointSets::new", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn new(length: usize) -> Self — crates/ipu-codegen/src/place.rs:836"];
    f25 [label="ipu_codegen::place::DisjointSets::union", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn union(&mut self, left: usize, right: usize) — crates/ipu-codegen/src/place.rs:849"];
    f14 [label="ipu_codegen::place::Lifetime::include", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn include(&mut self, other: Self) — crates/ipu-codegen/src/place.rs:65"];
    f12 [label="ipu_codegen::place::Lifetime::touch", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn touch(&mut self, event: u32) — crates/ipu-codegen/src/place.rs:55"];
    f21 [label="ipu_codegen::place::align_up", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn align_up(value: u32, alignment: u32) -> Result<u32, PlacementError> — crates/ipu-codegen/src/place.rs:819"];
    f13 [label="ipu_codegen::place::allocate_tile_class", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn allocate_tile_class( program: &LowProgram, tile: u16, class: MemoryClass, iterated: &[IteratedGroup], grouped: &BTreeSet<usize>, members: &BTreeMap<usize, Vec<usize>>, root_of_member: &[usize], root_requirements: &BTreeMap<usize, AllocationRequirements>, root_lifetimes: &BTreeMap<usize, Lifetime>, arena: &mut Arena, addresses: &mut BTreeMap<LowShardId, u32>, ) -> Result<(), PlacementError> — crates/ipu-codegen/src/place.rs:570"];
    f10 [label="ipu_codegen::place::allocation_alignment", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn allocation_alignment( program: &LowProgram, members: &[usize], requirement: AllocationRequirements, ) -> u32 — crates/ipu-codegen/src/place.rs:540"];
    f8 [label="ipu_codegen::place::allocation_bytes", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn allocation_bytes( program: &LowProgram, members: &[usize], requirement: AllocationRequirements, ) -> Result<u32, PlacementError> — crates/ipu-codegen/src/place.rs:505"];
    f5 [label="ipu_codegen::place::apply_requirement", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn apply_requirement(target: &mut AllocationRequirements, requirement: &OperandRequirement) — crates/ipu-codegen/src/place.rs:464"];
    f11 [label="ipu_codegen::place::assign_members", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn assign_members( addresses: &mut BTreeMap<LowShardId, u32>, members: &[usize], address: u32, ) -> Result<(), PlacementError> — crates/ipu-codegen/src/place.rs:554"];
    f6 [label="ipu_codegen::place::checked_union", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn checked_union( program: &LowProgram, sets: &mut DisjointSets, left: LowShardId, right: LowShardId, ) -> Result<(), PlacementError> — crates/ipu-codegen/src/place.rs:468"];
    f1 [label="ipu_codegen::place::collect_lifetimes", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn collect_lifetimes(program: &LowProgram) -> Vec<Lifetime> — crates/ipu-codegen/src/place.rs:258"];
    f3 [label="ipu_codegen::place::collect_repeat_constraints", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn collect_repeat_constraints( program: &LowProgram, tile: &TileWorkList, sets: &mut DisjointSets, iterated: &mut Vec<IteratedGroup>, ) -> Result<(), PlacementError> — crates/ipu-codegen/src/place.rs:367"];
    f4 [label="ipu_codegen::place::collect_requirements", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn collect_requirements( program: &LowProgram, tile: &TileWorkList, requirements: &mut [AllocationRequirements], ) — crates/ipu-codegen/src/place.rs:400"];
    f9 [label="ipu_codegen::place::memory_element_size", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn memory_element_size(program: &LowProgram, members: &[usize]) -> u32 — crates/ipu-codegen/src/place.rs:528"];
    f17 [label="ipu_codegen::place::place", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub fn place(program: &LowProgram) -> Result<Placement, PlacementError> — crates/ipu-codegen/src/place.rs:73"];
    f0 [label="ipu_codegen::place::place_tile", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn place_tile( program: &LowProgram, tile: u16, standard_ranges: &[AddressRegion], iterated: &[IteratedGroup], members: &BTreeMap<usize, Vec<usize>>, root_of_member: &[usize], root_requirements: &BTreeMap<usize, AllocationRequirements>, root_lifetimes: &BTreeMap<usize, Lifetime>, ) -> Result<(u16, BTreeMap<LowShardId, u32>, Vec<AddressRegion>), PlacementError> — crates/ipu-codegen/src/place.rs:174"];
    f23 [label="ipu_codegen::place::place_with_standard_ranges", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub(crate) fn place_with_standard_ranges( program: &LowProgram, standard_ranges: &[AddressRegion], ) -> Result<Placement, PlacementError> — crates/ipu-codegen/src/place.rs:83"];
    f2 [label="ipu_codegen::place::touch_work", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn touch_work( program: &LowProgram, work: TileWorkRef<'_>, tile: u16, event: &mut u32, lifetimes: &mut [Lifetime], ) — crates/ipu-codegen/src/place.rs:289"];
    f7 [label="ipu_codegen::place::validate_alias_groups", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn validate_alias_groups( program: &LowProgram, members: &BTreeMap<usize, Vec<usize>>, ) -> Result<(), PlacementError> — crates/ipu-codegen/src/place.rs:487"];
    t3 [label="ipu_codegen::place::AllocationRequest\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/place.rs:687"];
    t5 [label="ipu_codegen::place::Arena\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/place.rs:702"];
    t6 [label="ipu_codegen::place::DisjointSets\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/place.rs:830"];
    t4 [label="ipu_codegen::place::IteratedGroup\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/place.rs:696"];
    t2 [label="ipu_codegen::place::Lifetime\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/place.rs:48"];
    t0 [label="ipu_codegen::place::Placement\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/place.rs:20"];
    t1 [label="ipu_codegen::place::PlacementError\n«enum»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/place.rs:26"];
  }
  subgraph cluster_external { label="outgoing references — click to open target partition"; color="#d9d9d9"; style="rounded,dashed";
    xf0 [label="ipu_codegen::host::collect", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-host.svg", target="_top", tooltip="open target partition"];
    xf5 [label="ipu_codegen::low::ExchangePhaseId::index", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-low-part-1.svg", target="_top", tooltip="open target partition"];
    xf1 [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"];
    xf3 [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"];
    xf4 [label="ipu_codegen::low::LowShardId::from_index", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-low-part-1.svg", target="_top", tooltip="open target partition"];
    xf2 [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"];
    xf6 [label="ipu_codegen::operator::AllocationRequirements::merge", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-operator.svg", target="_top", tooltip="open target partition"];
    xf7 [label="ipu_codegen::operator::AllocationRequirements::require_distinct_element", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-operator.svg", target="_top", tooltip="open target partition"];
    xf8 [label="ipu_codegen::storage::shard_storage_bytes", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-storage.svg", target="_top", tooltip="open target partition"];
    xf10 [label="ipu_package::AddressRegion::is_empty", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-package.svg", target="_top", tooltip="open target partition"];
    xf9 [label="ipu_package::AddressRegion::new", 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"];
    xt1 [label="ipu_codegen::layout::MemoryClass\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::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"];
    xt3 [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"];
    xt7 [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"];
    xt4 [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"];
    xt8 [label="ipu_codegen::low::ShardDefinition\n«enum»", 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::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"];
    xt5 [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"];
    xt11 [label="ipu_codegen::operator::AllocationRequirements\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-operator.svg", target="_top", tooltip="open defining partition"];
    xt10 [label="ipu_codegen::operator::MemoryElementRequirement\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-operator.svg", target="_top", tooltip="open defining partition"];
    xt12 [label="ipu_codegen::operator::MemoryOperand\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-operator.svg", target="_top", tooltip="open defining partition"];
    xt9 [label="ipu_codegen::operator::OperandRequirement\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-operator.svg", target="_top", tooltip="open defining partition"];
    xt13 [label="ipu_package::AddressRegion\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-package.svg", target="_top", tooltip="open defining partition"];
  }
  f0 -> xf2 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f0 -> f13 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f0 -> f15 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f0 -> f19 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f0 -> f20 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f0 -> f21 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f0 -> xf9 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f0 -> xt1 [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 -> xt7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f0 -> xt11 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f0 -> t1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f0 -> t2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f0 -> t4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f0 -> t5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f0 -> xt13 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f1 -> xf2 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f1 -> xf3 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f1 -> f2 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f1 -> f12 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f1 -> xt7 [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"];
  f1 -> t2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f2 -> xf2 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f2 -> xf3 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f2 -> xf5 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f2 -> f12 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f2 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f2 -> xt3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f2 -> xt4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f2 -> xt5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f2 -> xt7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f2 -> t2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f3 -> xf3 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f3 -> f6 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f3 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f3 -> xt5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f3 -> xt6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f3 -> xt7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f3 -> t1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f3 -> t4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f3 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f4 -> xf1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f4 -> xf2 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f4 -> xf3 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f4 -> xf7 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f4 -> f5 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f4 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f4 -> xt2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f4 -> xt3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f4 -> xt5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f4 -> xt6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f4 -> xt7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f4 -> xt11 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f4 -> xt12 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f5 -> xf6 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f5 -> xt9 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f5 -> xt11 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f6 -> xf2 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f6 -> f25 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f6 -> xt4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f6 -> xt7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f6 -> t1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f6 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f7 -> xt7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f7 -> t1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f8 -> f9 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f8 -> f21 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f8 -> xf8 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f8 -> xt7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f8 -> xt10 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f8 -> xt11 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f8 -> t1 [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 -> xt7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f10 -> f9 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f10 -> xt7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f10 -> xt10 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f10 -> xt11 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xf4 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f11 -> xt4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> t1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f13 -> xf2 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f13 -> f8 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f13 -> f10 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f13 -> f11 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f13 -> f14 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f13 -> f16 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f13 -> xt1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f13 -> xt4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f13 -> xt7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f13 -> xt11 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f13 -> t1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f13 -> t2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f13 -> t3 [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 -> t5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f14 -> f12 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f16 -> f18 [color="#2166ac", style="dotted", tooltip="source fallback (conservative)"];
  f16 -> f21 [color="#2166ac", style="dotted", tooltip="source fallback (conservative)"];
  f17 -> f23 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f17 -> xf9 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f17 -> xt7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> t0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> t1 [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"];
  f21 -> t1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f22 -> xf0 [color="#2166ac", style="dotted", tooltip="source fallback (conservative)"];
  f23 -> xf6 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> f0 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> f1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> f3 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> f4 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> f6 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> f7 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> f14 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> f22 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> f24 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> xf10 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f23 -> xt1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> xt7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> xt8 [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 -> t0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> t1 [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 -> t4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> t6 [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"];
  f25 -> f24 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  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"];
}
