digraph ipu_stack_package_partition {
  graph [rankdir=LR, bgcolor="white", fontname="DejaVu Sans", fontsize=17,
         label="ipu_codegen::estimate — 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";
    f2 [label="ipu_codegen::estimate::ExchangeEndpointTraffic::is_empty", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub(crate) fn is_empty(&self) -> bool — crates/ipu-codegen/src/estimate.rs:136"];
    f0 [label="ipu_codegen::estimate::ExchangeEndpointTraffic::maximum_incoming_bytes", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub(crate) fn maximum_incoming_bytes(&self) -> u64 — crates/ipu-codegen/src/estimate.rs:102"];
    f16 [label="ipu_codegen::estimate::ExchangeEndpointTraffic::maximum_outgoing_bytes", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub(crate) fn maximum_outgoing_bytes(&self) -> u64 — crates/ipu-codegen/src/estimate.rs:94"];
    f1 [label="ipu_codegen::estimate::ExchangeEndpointTraffic::maximum_payload_bytes", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub(crate) fn maximum_payload_bytes(&self) -> u64 — crates/ipu-codegen/src/estimate.rs:110"];
    f7 [label="ipu_codegen::estimate::allocation_memory", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn allocation_memory(tensor: &TensorType, requirement: AllocationRequirements) -> MemoryUsage — crates/ipu-codegen/src/estimate.rs:418"];
    f8 [label="ipu_codegen::estimate::allocation_requirements", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn allocation_requirements( operations: &[MidOperation], ) -> BTreeMap<MidValueId, AllocationRequirements> — crates/ipu-codegen/src/estimate.rs:433"];
    f18 [label="ipu_codegen::estimate::allocation_root", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn allocation_root(mut id: MidValueId, aliases: &BTreeMap<MidValueId, MidValueId>) -> MidValueId — crates/ipu-codegen/src/estimate.rs:997"];
    f13 [label="ipu_codegen::estimate::conversion_memory_estimate", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub(crate) fn conversion_memory_estimate( input: &TensorType, output: &TensorType, ) -> MemoryEstimate — crates/ipu-codegen/src/estimate.rs:856"];
    f5 [label="ipu_codegen::estimate::gemm_partial_tensor", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub(crate) fn gemm_partial_tensor(dispatch: &OperatorDispatch, output: &TensorType) -> TensorType — crates/ipu-codegen/src/estimate.rs:354"];
    f12 [label="ipu_codegen::estimate::gemm_uses_panel_buffer", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub(crate) fn gemm_uses_panel_buffer( dispatch: &OperatorDispatch, right: &TensorType, output: &TensorType, ) -> bool — crates/ipu-codegen/src/estimate.rs:774"];
    f4 [label="ipu_codegen::estimate::maximum_axis_shard_extent", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub(crate) fn maximum_axis_shard_extent(tensor: &TensorType, axis: usize) -> u64 — crates/ipu-codegen/src/estimate.rs:344"];
    f3 [label="ipu_codegen::estimate::maximum_shard_bytes", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub(crate) fn maximum_shard_bytes(tensor: &TensorType) -> u64 — crates/ipu-codegen/src/estimate.rs:320"];
    f10 [label="ipu_codegen::estimate::maximum_standard_allocation", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn maximum_standard_allocation( ids: &BTreeSet<MidValueId>, values: &[MidValue], requirements: &BTreeMap<MidValueId, AllocationRequirements>, ) -> u64 — crates/ipu-codegen/src/estimate.rs:489"];
    f17 [label="ipu_codegen::estimate::operation_value_inputs", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn operation_value_inputs(operation: &MidOperation) -> Vec<&MidValueId> — crates/ipu-codegen/src/estimate.rs:989"];
    f11 [label="ipu_codegen::estimate::operator_memory_estimate", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub(crate) fn operator_memory_estimate( dispatch: &OperatorDispatch, requirements: &OperatorRequirements, inputs: &[TensorType], output: &TensorType, ) -> MemoryEstimate — crates/ipu-codegen/src/estimate.rs:500"];
    f14 [label="ipu_codegen::estimate::region_peak_memory", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub(crate) fn region_peak_memory( initial: &[MidValueId], operations: &[MidOperation], outputs: &[MidValueId], values: &[MidValue], constraints: crate::HardwareMemoryConstraints, ) -> MemoryPeaks — crates/ipu-codegen/src/estimate.rs:869"];
    f15 [label="ipu_codegen::estimate::region_peak_memory_with_multiplicity", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub(crate) fn region_peak_memory_with_multiplicity( initial: &[MidValueId], operations: &[MidOperation], outputs: &[MidValueId], values: &[MidValue], allocation_multiplicity: &BTreeMap<MidValueId, u32>, constraints: crate::HardwareMemoryConstraints, ) -> MemoryPeaks — crates/ipu-codegen/src/estimate.rs:886"];
    f6 [label="ipu_codegen::estimate::tensor_memory", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub(crate) fn tensor_memory(tensor: &TensorType) -> MemoryUsage — crates/ipu-codegen/src/estimate.rs:409"];
    f9 [label="ipu_codegen::estimate::value_allocation", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn value_allocation( id: MidValueId, values: &[MidValue], requirements: &BTreeMap<MidValueId, AllocationRequirements>, ) -> MemoryUsage — crates/ipu-codegen/src/estimate.rs:478"];
  }
  subgraph cluster_external { label="outgoing references — click to open target partition"; color="#d9d9d9"; style="rounded,dashed";
    xf0 [label="ipu_codegen::cost::CostEstimate::exchange_row_bytes", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-cost.svg", target="_top", tooltip="open target partition"];
    xf2 [label="ipu_codegen::ir::MidOperation::operator_plan", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-ir.svg", target="_top", tooltip="open target partition"];
    xf1 [label="ipu_codegen::ir::MidValueId::index", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-ir.svg", target="_top", tooltip="open target partition"];
    xf6 [label="ipu_codegen::layout::Layout::amp_left_result_grid", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-layout.svg", target="_top", tooltip="open target partition"];
    xf5 [label="ipu_codegen::layout::Layout::amp_output_grid", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-layout.svg", target="_top", tooltip="open target partition"];
    xf8 [label="ipu_codegen::layout::Layout::amp_transposed_left_result_grid", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-layout.svg", target="_top", tooltip="open target partition"];
    xf7 [label="ipu_codegen::layout::Layout::amp_transposed_output_grid", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-layout.svg", target="_top", tooltip="open target partition"];
    xf9 [label="ipu_codegen::layout::Layout::resolve", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-layout.svg", target="_top", tooltip="open target partition"];
    xf4 [label="ipu_codegen::layout::ResolvedLayout::maximum_axis_extent", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-layout.svg", target="_top", tooltip="open target partition"];
    xf3 [label="ipu_codegen::layout::ResolvedLayout::maximum_tile_elements", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-layout.svg", target="_top", tooltip="open target partition"];
    xf12 [label="ipu_codegen::metrics::MemoryPeaks::observe", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-metrics.svg", target="_top", tooltip="open target partition"];
    xf10 [label="ipu_codegen::metrics::MemoryUsage::add_class", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-metrics.svg", target="_top", tooltip="open target partition"];
    xf11 [label="ipu_codegen::metrics::MemoryUsage::saturating_add", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-metrics.svg", target="_top", tooltip="open target partition"];
    xf14 [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"];
    xf15 [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"];
    xf13 [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"];
    xt0 [label="ipu_codegen::config::HardwareMemoryConstraints\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-config.svg", target="_top", tooltip="open defining partition"];
    xt1 [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::ir::MidOperation\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-ir.svg", target="_top", tooltip="open defining partition"];
    xt3 [label="ipu_codegen::ir::MidOperationKind\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-ir.svg", target="_top", tooltip="open defining partition"];
    xt2 [label="ipu_codegen::ir::MidValue\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-ir.svg", target="_top", tooltip="open defining partition"];
    xt5 [label="ipu_codegen::ir::MidValueId\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-ir.svg", target="_top", tooltip="open defining partition"];
    xt10 [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"];
    xt9 [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"];
    xt8 [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"];
    xt6 [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"];
    xt7 [label="ipu_codegen::layout::TensorAxis\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-layout.svg", target="_top", tooltip="open defining partition"];
    xt11 [label="ipu_codegen::layout::TensorFormat\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-layout.svg", target="_top", tooltip="open defining partition"];
    xt12 [label="ipu_codegen::layout::TensorType\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-layout.svg", target="_top", tooltip="open defining partition"];
    xt14 [label="ipu_codegen::metrics::MemoryEstimate\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-metrics.svg", target="_top", tooltip="open defining partition"];
    xt15 [label="ipu_codegen::metrics::MemoryPeaks\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-metrics.svg", target="_top", tooltip="open defining partition"];
    xt13 [label="ipu_codegen::metrics::MemoryUsage\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-metrics.svg", target="_top", tooltip="open defining partition"];
    xt25 [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"];
    xt20 [label="ipu_codegen::operator::AttentionBlocking\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-operator.svg", target="_top", tooltip="open defining partition"];
    xt21 [label="ipu_codegen::operator::AttentionPlan\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-operator.svg", target="_top", tooltip="open defining partition"];
    xt22 [label="ipu_codegen::operator::GemmDistribution\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-operator.svg", target="_top", tooltip="open defining partition"];
    xt17 [label="ipu_codegen::operator::GemmOrientation\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::GridOrder\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-operator.svg", target="_top", tooltip="open defining partition"];
    xt24 [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"];
    xt27 [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"];
    xt26 [label="ipu_codegen::operator::OperandMaterialization\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::OperatorDispatch\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-operator.svg", target="_top", tooltip="open defining partition"];
    xt28 [label="ipu_codegen::operator::OperatorRequirements\n«struct»", 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::Precision\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-operator.svg", target="_top", tooltip="open defining partition"];
    xt23 [label="ipu_codegen::operator::ReductionStaging\n«enum»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-operator.svg", target="_top", tooltip="open defining partition"];
  }
  f1 -> f0 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f1 -> f16 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f2 -> f1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f3 -> xf3 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f3 -> xf9 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f3 -> xf13 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f3 -> xt12 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f4 -> xf4 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f4 -> xf9 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f4 -> xt12 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f5 -> xf5 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f5 -> xf6 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f5 -> xf7 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f5 -> xf8 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f5 -> xt8 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f5 -> xt9 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f5 -> xt10 [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"];
  f5 -> xt12 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f5 -> xt16 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f5 -> xt17 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f5 -> xt19 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f5 -> xt22 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f6 -> f3 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f6 -> xf10 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f6 -> xt12 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f6 -> xt13 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f7 -> f3 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f7 -> xf10 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f7 -> xt6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f7 -> xt12 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f7 -> xt13 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f7 -> xt24 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f7 -> xt25 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f8 -> xf2 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f8 -> xf14 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f8 -> xf15 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f8 -> xt4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f8 -> xt5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f8 -> xt25 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f8 -> xt27 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> f7 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f9 -> xf1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f9 -> xt2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> xt5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> xt13 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> xt25 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f10 -> f9 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f10 -> xt2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f10 -> xt5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f10 -> xt25 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> f3 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f11 -> f4 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f11 -> f5 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f11 -> f6 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f11 -> f12 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f11 -> xf10 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f11 -> xf11 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f11 -> xf13 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f11 -> xt6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xt12 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xt13 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xt14 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xt17 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xt18 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xt19 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xt20 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xt21 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xt22 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xt23 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xt26 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xt27 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xt28 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f12 -> f4 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f12 -> xt6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f12 -> xt7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f12 -> xt12 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f12 -> xt17 [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 -> f6 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f13 -> xf11 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f13 -> xt12 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f13 -> xt13 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f13 -> xt14 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f14 -> f15 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f14 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f14 -> xt2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f14 -> xt4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f14 -> xt5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f14 -> xt15 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f15 -> xf0 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f15 -> f8 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f15 -> f9 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f15 -> f10 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f15 -> f17 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f15 -> f18 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f15 -> xf11 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f15 -> xf12 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f15 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f15 -> xt2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f15 -> xt4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f15 -> xt5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f15 -> xt13 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f15 -> xt15 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f15 -> xt26 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> xt1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> xt3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> xt4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> xt5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f18 -> xt5 [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"];
}
