pub fn error_budget_thermal_stacked(
netlist: &AnalogNetlist,
cert: &RangeCertificate,
schedule: &GainSchedule,
target: &AnalogTarget,
model: &NonIdealityModel,
placement: &StackPlacement,
map: &ThermalMap,
stack: &StackTarget,
opts: &ThermalOpts,
) -> OutputBudgetExpand description
The thermally-coupled stacked budget: the stacked budget PLUS the drift terms priced
against the CERTIFIED thermal map — offset drifts with each tile’s absolute rise
(offset_tempco · ΔT), gain with the tile-to-operand GRADIENT
(gain_tempco · |ΔT_cell − ΔT_operand|) — matching cares about gradients. One Picard
pass, deterministic: placement + power → temperature → ε; hot placement provably costs ε
(thermal_cooking_lock measures it). The ℚ→f64 bridge rounds outward.