---
title: Unified Butterfly Units in Computation
url: https://www.emergentmind.com/topics/unified-butterfly-units
type: topic
---

# Unified Butterfly Units in Computation

Unified Butterfly Units are butterfly-structured computational primitives that recur in several technically distinct settings: fast oscillatory integral transforms, attention-based neural networks, FPGA accelerators for FFT- and butterfly-linear layers, parallel iterative NTT/INTT accelerators for post-quantum cryptography, and distributed quantum computation over the butterfly network. Across these settings, the common pattern is a multistage butterfly transform with sparse local interactions, together with a control layer that selects among closely related butterfly behaviors such as NUFFT versus butterfly factorization, FFT versus butterfly-linear mode, or NTT versus INTT mode [1803.04128] [2209.09570] [2607.00621] [1010.4350].

## 1. Mathematical and structural foundations

In the harmonic-analysis literature, a butterfly factorization is defined for matrices with the **complementary low-rank property**. Let \(T_X\) and \(T_\Omega\) be dyadic trees of depth \(L=O(\log N)\). For a node \(A\in T_X\) at level \(\ell\) and a node \(B\in T_\Omega\) at level \(L-\ell\), the submatrix \(K_{A,B}\) is numerically low-rank with rank bounded independently of \(N\). Equivalently, on each such pair of boxes there is a separated representation
\[
K(x,\xi)\approx \sum_{t=1}^r \alpha_t^{AB}(x)\beta_t^{AB}(\xi).
\]
This property underlies the **Interpolative Butterfly Factorization (IBF)**, which represents an \(N\times N\) matrix as a product of \(O(\log N)\) sparse matrices, each with \(O(N)\) nonzeros, with construction in \(O(N\log N)\) operations and memory and application in \(O(N\log N)\) [1605.03616].

The preliminary IBF has the form
\[
K \approx U^L G^{L-1}\cdots G^{h} M^{h} (H^{h})^* \cdots (H^{1})^* (V^0)^*,
\qquad h=\tfrac{L}{2},
\]
and the optimal form after sweeping compression is
\[
K \approx \dot{U}^{L} \dot{G}^{L-1}\cdots \dot{G}^{h} \dot{M}^h (\dot{H}^{h})^* \cdots (\dot{H}^{1})^* (\dot{V}^{0})^*.
\]
Structurally, this is precisely a sequence of “butterfly units”: modules mapping coefficients between adjacent levels with sparse, local connectivity. The factors \(V^0\), \(H^\ell\), \(M^h\), \(G^\ell\), and \(U^L\) are level-wise transformations whose dense subblocks encode local interpolation, restriction, prolongation, and switching operations [1605.03616].

IBF is built from interpolative low-rank approximations of oscillatory kernels \(K(x,\xi)=a(x,\xi)e^{2\pi i \Phi(x,\xi)}\). The key analytic decomposition is
\[
R^{AB}(x,\xi) := \Phi(x,\xi) - \Phi(c_A,\xi) - \Phi(x,c_B) + \Phi(c_A,c_B),
\]
which isolates the smooth coupling term \(e^{2\pi i R^{AB}(x,\xi)}\) for Chebyshev interpolation. Sweeping compression then propagates the true numerical ranks and recompresses all dense subblocks to near-optimal size via structure-preserving low-rank approximations [1605.03616].

This formulation fixes the canonical mathematical meaning of a butterfly unit: a sparse, multilevel, rank-structured transformation acting between complementary scales.

## 2. Unified butterfly units for oscillatory integral transforms

For oscillatory integral transforms,
\[
g(x) = \int K(x,\xi) f(\xi)\, d\xi,
\qquad
K(x,\xi)=\alpha(x,\xi)\,e^{2\pi i \Phi(x,\xi)},
\]
the discretized problem is \(g=Kf\) with \(K\in\mathbb{C}^{N\times N}\). The relevant assumptions are that the amplitude \(\alpha(x,\xi)\) is smooth and the phase \(\Phi(x,\xi)\) is piecewise smooth in both \(x\) and \(\xi\) with \(O(1)\) discontinuities in each variable. On suitably chosen pairs of small spatial–frequency boxes \(A\times B\), the kernel is numerically low-rank, while in many important cases the phase is approximately separable,
\[
\Phi(x,\xi)\approx \sum_{j=1}^r p_j(x)q_j(\xi).
\]
The unified framework in "A Unified Framework for Oscillatory Integral Transform: When to use NUFFT or Butterfly Factorization?" automatically decides whether a **NUFFT-style butterfly unit** or a **general butterfly factorization (BF) unit** is better for applying \(K\) to vectors in \(O(N\log N)\) time [1803.04128].

The framework has three stages. First, it builds low-rank factorizations
\[
\mathcal{A}\approx U_2V_2^*,
\qquad
\Phi\approx U_1V_1^*.
\]
If explicit formulas are known, random sampling yields these in \(O(N)\). If only indirect access is available, a new low-rank matrix recovery algorithm reconstructs the phase from \(K=e^{2\pi i\Phi}\) up to a low-rank error in \(O(N\log N)\), while the amplitude is recovered from \(|K|\). The indirect-access setting includes three scenarios: \(K(i,j)\) can be evaluated in \(O(1)\) per entry; \(K\) and \(K^T\) can be applied to vectors in \(O(N\log N)\); or \(\alpha,\Phi\) are solutions of PDEs and only a few columns or rows are available from PDE solves [1803.04128].

Second, Algorithm 3.1 decides between NUFFT and BF in \(O(N)\). It truncates the phase to rank \(r\),
\[
\Phi\approx P Q^*,
\qquad
P,Q\in\mathbb{R}^{N\times r},
\]
and tests whether
\[
\mathcal{A}\odot e^{2\pi i(\Phi - P Q^*)}
\]
has small numerical rank \(r_\epsilon\), estimated via sampling and pivoted QR. If the residual rank is below threshold \(r\), the kernel is declared NUFFT-applicable; otherwise the framework selects butterfly factorization. The SVD, sampling, QR, and low-rank factorization all cost \(O(N)\), so the decision mechanism is a genuine \(O(N)\) butterfly-router [1803.04128].

Third, the selected unit is applied. If NUFFT is chosen, the transform is rewritten as
\[
g(x) \approx \sum_{k=1}^{r_\epsilon} a_k(x) \int e^{2\pi i \sum_{j=1}^r p_j(x) q_j(\xi)} \big(b_k(\xi) f(\xi)\big)\, d\xi,
\]
so the computation reduces to a small number of \(r\)-dimensional NUFFTs. Here \(r\) is the NUFFT dimension after lifting, even in physically one-dimensional problems, and \(r_\epsilon\) is the rank of the low-rank correction to the phase-separated kernel. If BF is chosen, the framework constructs and applies IBF-MAT, a new stable and nearly optimal butterfly factorization for kernels of the form
\[
K = e^{2\pi i UV^*},
\]
with precomputation and application both in \(O(N\log N)\) time and memory [1803.04128].

A central technical component is recovery of the phase modulo \(1\). Since
\[
\frac{1}{2\pi} \Im(\log K(i,j)) = \operatorname{mod}(\Phi(i,j),1),
\]
the goal is to find a numerically low-rank \(\Psi\) such that
\[
\operatorname{mod}(\Psi,1) = \frac{1}{2\pi} \Im(\log K).
\]
The reconstruction uses a discrete third-order total variation norm \(\|\cdot\|_{TV^3}\), a linear-time heuristic for vector recovery from modulo-\(1\) observations, and a matrix recovery procedure that detects discontinuity patterns, partitions the matrix into smooth blocks, and then applies randomized low-rank factorization [1803.04128].

The resulting architecture is explicitly modular: low-rank amplitude/phase builder, NUFFT-versus-BF selector, then a NUFFT unit or a BF unit. In this setting, “unified butterfly units” refers to a shared representation of the kernel together with an automated router between specialized and general butterfly implementations.

## 3. Butterfly units in attention-based neural networks and hardware co-design

In attention-based neural networks, "Adaptable Butterfly Accelerator for Attention-based NNs via Hardware and Algorithm Co-design" defines a butterfly matrix \(\mathbf{W}_{\text{Bfly}}\in\mathbb{R}^{N\times N}\) as a product of sparse butterfly factors. Each factor is a \(2\times 2\) block matrix with diagonal blocks, and the nonzeros form the familiar butterfly connectivity pattern: at each stage, pairs of coordinates interact via a \(2\times 2\) transform. Applying \(\mathbf{W}_{\text{Bfly}}\) to a vector has depth \(\log_2 N\), per-stage work \(\mathcal{O}(N)\), and total complexity \(\mathcal{O}(N\log N)\). FFT is a specific case of this structure, since the Cooley–Tukey FFT can be written as a product of such butterfly factors whose diagonals implement complex twiddle factors [2209.09570].

FABNet uses a **unified butterfly sparsity pattern** to approximate both the attention mechanism and the FFNs. It has two butterfly-based block types. The **Attention Butterfly block (ABfly)** keeps a standard multi-head attention module but replaces all surrounding linear layers by butterfly-structured ones:
\[
\mathbf{Q} = X \mathbf{W}_Q,\quad
\mathbf{K} = X \mathbf{W}_K,\quad
\mathbf{V} = X \mathbf{W}_V,
\]
with each projection factored into butterfly stages, and
\[
\text{FFN}(X) = \sigma\bigl( X \mathbf{W}_{1,\text{Bfly}} \bigr)\,\mathbf{W}_{2,\text{Bfly}}.
\]
The **Fourier Butterfly block (FBfly)** replaces the entire attention mechanism with a 2‑D FFT, implemented as two 1‑D FFTs along sequence and feature dimensions,
\[
\tilde{X} = \Re\bigl( \text{FFT}_\text{seq}(\text{FFT}_\text{hid}(X)) \bigr),
\]
followed again by butterfly-structured FFNs [2209.09570].

At the algorithmic level, FABNet uses a generic butterfly transform operator
\[
\mathcal{B}(x; \Theta) = \mathcal{B}^{(S)} \circ \mathcal{B}^{(S-1)} \circ \cdots \circ \mathcal{B}^{(1)}(x),
\]
where each stage applies, in parallel, a set of 2‑point transforms. The implemented real butterfly formula is
\[
\begin{aligned}
\text{out}_\text{bt}^{1} &= \text{in}_\text{bt}^{1} \cdot w_\text{bt}^{1} + \text{in}_\text{bt}^{2} \cdot w_\text{bt}^{3},\\
\text{out}_\text{bt}^{2} &= \text{in}_\text{bt}^{1} \cdot w_\text{bt}^{2} + \text{in}_\text{bt}^{2} \cdot w_\text{bt}^{4}.
\end{aligned}
\]
For FFT, the operator has the same shape but the weights obey FFT constraints and are fixed or precomputed twiddles. Q/K/V projections, attention output projections, FFN layers, and FFT-based mixing operations all share this butterfly primitive [2209.09570].

At the hardware level, the unified butterfly unit is an **adaptable Butterfly Unit (BU)** inside an adaptable butterfly engine. Each BU contains 4 real multipliers, 2 real adders, and 2 complex adders/subtractors. In **butterfly-linear mode**, it implements the real butterfly formula above. In **FFT mode**, with
\[
\text{in}_\text{fft}^{1} = a_r + i a_i,\quad
\text{in}_\text{fft}^{2} = b_r + i b_i,\quad
w_\text{fft} = w_r + i w_i,
\]
the BU computes
\[
\text{out}_\text{fft}^{1} = \text{in}_\text{fft}^{1} + \text{in}_\text{fft}^{2} \cdot w_\text{fft},
\qquad
\text{out}_\text{fft}^{2} = \text{in}_\text{fft}^{1} - \text{in}_\text{fft}^{2} \cdot w_\text{fft}.
\]
Control signals configure each BU to operate in FFT or butterfly-linear mode, so the same physical multipliers and adders are reused for both [2209.09570].

The accelerator comprises a Butterfly Processor with Butterfly Engines and Butterfly Units, an Attention Processor containing QK and SV units, a Post-processing Processor for layer normalization and residual additions, on-chip buffers, and off-chip memory. It also includes a butterfly memory system with a custom data layout, an index coalescing module, and runtime-configurable address mappings that allow the same physical buffers to service both FFT and butterfly layers. Fine-grained pipelining overlaps Q/K/V generation, \(QK^\top\), softmax, and \(SV\) [2209.09570].

Quantitatively, on the Long-Range-Arena dataset, FABNet achieves the same accuracy as the vanilla Transformer while reducing the amount of computation by 10 to 66 times and the number of parameters 2 to 22 times. By jointly optimizing the algorithm and hardware, the FPGA-based butterfly accelerator achieves 14.2 to 23.2 times speedup over state-of-the-art accelerators normalized to the same computational budget. Compared with optimized CPU and GPU designs on Raspberry Pi 4 and Jetson Nano, the system is up to 273.8 and 15.1 times faster under the same power budget [2209.09570].

In this domain, a unified butterfly unit is simultaneously a model primitive, a hardware primitive, and a scheduling primitive.

## 4. Unified butterfly units for NTT and INTT in post-quantum cryptography

For radix‑2 NTT/INTT butterflies, the forward Cooley–Tukey butterfly is
\[
\begin{aligned}
a' &= a + \omega^k b \pmod q,\\
b' &= a - \omega^k b \pmod q,
\end{aligned}
\]
and the inverse Gentleman–Sande butterfly is
\[
\begin{aligned}
a' &= \frac{a + b}{2} \pmod q,\\
b' &= \frac{(a - b)\,\omega^k}{2} \pmod q.
\end{aligned}
\]
"High-Performance NTT Accelerators for PQC leveraging Unified Redundant Arithmetic and Fine-Tuned Microarchitecture" defines a **unified butterfly unit** as a single processing element that implements both NTT and INTT butterflies in one structure, uses the same Montgomery multiplier, adders and subtractors for both directions, shares pipeline and control, and operates in a carefully chosen redundant Montgomery representation [2607.00621].

All internal values are represented in Montgomery form \(\overline{a}=aR\bmod q\) with a redundant range
\[
0 \le \overline{a}, \overline{b}, \overline{\omega^k} < 2q.
\]
For the subtract input to the Montgomery multiplier in INTT, the design temporarily allows
\[
0 \le \overline{a-b+2q} < 4q.
\]
The analysis imposes \(R>8q\), with \(R\) chosen as the smallest power of two greater than \(8q\), so the internal datapath width is
\[
W_\text{red} = \lceil \log_2 q\rceil + 3.
\]
Under these bounds, the Montgomery result is guaranteed to lie in the same redundant range \([0,2q)\) without any final conditional subtraction. Consequently, the post-multiplication correction is removed for both \(b\omega^k \bmod q\) in NTT mode and \((a-b+2q)\omega^k \bmod q\) in INTT mode, and the subtractor correction feeding the multiplier can also be dropped [2607.00621].

The INTT scaling is integrated into existing arithmetic hardware. One divide‑by‑2 is removed by precomputing INTT twiddle factors as
\[
\omega^{-k}_\text{INTT} = \frac{\omega^{-k}}{2} \pmod q.
\]
The second division by 2 is merged into the adder’s correction logic by case analysis on range and parity of \(\text{sum}=a+b\). For example, if \(\text{sum}<2q\) and odd, the block computes
\[
a' = (\text{sum}+q)/2,
\]
while if \(\text{sum}\ge 2q\) and odd, it computes
\[
a' = (\text{sum}-q)/2.
\]
The divider is therefore no longer an explicit module; it is merged into the adder’s correction logic [2607.00621].

The final unified butterfly has input registers, an adder, a subtractor plus bias \(2q\), a hierarchical DSP-based Montgomery multiplier, an Add/Div2 unit, and output registers. In NTT mode it computes
\[
\overline{t} = \operatorname{MontMul}(\overline{b}, \overline{\omega^k}),
\]
then performs final add and subtract with correction to keep outputs in \([0,2q)\). In INTT mode it computes
\[
\overline{t} = \operatorname{MontMul}(\overline{(a-b+2q)}, \overline{\omega^{-k}/2}),
\]
while the top path yields \((a+b)/2\) in the same redundant range [2607.00621].

The Montgomery multiplier is redesigned as a DSP-centric hierarchical unit. For small widths up to 17 bits, a complete Montgomery multiplier uses 3 DSPs per multiplier. For a generic 34-bit Montgomery datapath supporting up to 31-bit moduli with redundancy, the multiplier uses 11 DSP blocks and 6 pipeline stages. The resulting unified butterfly frequency reaches up to 437 MHz for 17-bit BFUs on Virtex‑7, about 391 MHz for 34-bit BFUs on Virtex‑7, up to 905 MHz for 17-bit BFUs on Alveo U200, and about 496 MHz for 34-bit BFUs on Alveo U200 [2607.00621].

At system level, the accelerator is a parallel iterative NTT/INTT architecture with a multi-banked BRAM coefficient memory, conflict-free mapping and addressing, and an array of \(w\times d\) processing elements, each processing element being one unified butterfly. The same PE array is reused iteratively for all \(\log_2 N\) stages, and a mode bit selects NTT or INTT. The 17-bit BFU variant supports Kyber, Falcon, and NewHope; the 34-bit BFU variant supports moduli up to 31 bits, including Dilithium’s 23-bit modulus. Reported execution time reductions are 35–73% depending on \(N\) and \(w\) compared with comparable state-of-the-art architectures [2607.00621].

Here, a unified butterfly unit is a direction-switchable modular-arithmetic processing element whose correctness hinges on a shared redundant range and whose efficiency hinges on removal of intermediate corrections.

## 5. Butterfly units in distributed quantum computation

In distributed quantum computation, the butterfly is a directed network with six nodes and seven edges:
\[
A_1 \xrightarrow{D_1} C_1,\quad
A_2 \xrightarrow{D_2} C_1,\quad
C_1 \xrightarrow{F} C_2,\quad
C_2 \xrightarrow{G_1} B_1,\quad
C_2 \xrightarrow{G_2} B_2,\quad
A_1 \xrightarrow{E_1} B_1,\quad
A_2 \xrightarrow{E_2} B_2.
\]
Each edge can be chosen to be either a single-use, one-way quantum channel that can carry 1 qubit, or a single-use, one-way classical channel that can carry 2 classical bits. Local operations are free. The task is deterministic implementation of a two-qubit global unitary
\[
U:\; \mathcal{H}_{A_1} \otimes \mathcal{H}_{A_2} \to \mathcal{H}_{B_1} \otimes \mathcal{H}_{B_2}
\]
on two unknown inputs given at \(A_1\) and \(A_2\), with outputs at \(B_1\) and \(B_2\) [1010.4350].

The central characterization is: in Hayashi’s butterfly setting, with no additional entanglement resource, a two-qubit global unitary \(U\) is deterministically implementable over the butterfly network if and only if \(U\) is locally unitary equivalent to a controlled unitary operation. A controlled unitary has the form
\[
C_u = |0\rangle\!\langle0|_A \otimes \mathbb{I}_B + |1\rangle\!\langle1|_A \otimes u_B,
\]
and a controlled phase is
\[
C_{u_\theta} = |0\rangle\!\langle0|\otimes\mathbb{I} + |1\rangle\!\langle1|\otimes u_\theta,
\qquad
u_\theta = |0\rangle\!\langle0| + e^{i\theta} |1\rangle\!\langle1|.
\]
The implementability boundary is proved using the Schmidt number of
\[
|\Psi_U\rangle =
(U\otimes\mathbb{I}_{r_{A_1}r_{A_2}})
|\Phi^+\rangle_{t_{A_1}r_{A_1}}
|\Phi^+\rangle_{t_{A_2}r_{A_2}}.
\]
If \(U\) is locally equivalent to a controlled unitary, the resulting state has Schmidt number \(2\); otherwise it has Schmidt number \(4\). The butterfly network without ebits cannot deterministically create the required Schmidt rank‑4 pure state under the channel constraints [1010.4350].

The zero-ebit protocol for controlled phases uses the channel assignment: \(D_1, D_2, E_1, E_2\) quantum; \(F\) a 2-bit classical channel; \(G_1, G_2\) each used as 1-bit classical channels. It entangles the logical wires via the bottleneck \(F\) using classical bits derived from computational-basis measurements, sends one quantum wire from \(A_1\) to \(B_1\) via \(E_1\) and one from \(A_2\) to \(B_2\) via \(E_2\), and applies conditional single-qubit corrections at \(B_1\) and \(B_2\). Because every controlled unitary is locally equivalent to some controlled phase, this yields a **Butterfly Controlled-Unitary Primitive (0-ebit unit)** [1010.4350].

The resource pattern is also optimal. Controlled unitaries cannot be implemented if the number of quantum channels is fewer than four, if a different subset of edges is chosen as quantum, if \(F\) is reduced below a 2-bit classical channel, or if either \(G_1\) or \(G_2\) is absent. The minimal channel pattern is therefore: quantum \(D_1,D_2,E_1,E_2\); classical \(F\) with 2 bits; classical \(G_1,G_2\) with at least 1 bit each [1010.4350].

With 1 ebit between \(A_1\) and \(A_2\), the network can implement controlled traceless unitaries under a slightly weakened channel assumption. A controlled traceless unitary can be written as
\[
C_{u_{\mathrm{tl}}}
= |00\rangle\!\langle00| + |01\rangle\!\langle01| + e^{i\theta}|10\rangle\!\langle10| - e^{i\theta}|11\rangle\!\langle11|
= (u_\theta \otimes \mathbb{I})\, C_Z.
\]
The key algebraic condition
\[
C_u (X\otimes\mathbb{I}) = (A\otimes B) C_u
\quad\iff\quad
\mathrm{Tr}\,u = 0
\]
permits rerouting of control dependencies, producing a **Butterfly Controlled-Traceless Unit (1-ebit)** [1010.4350].

With 2 ebits between \(A_1\) and \(A_2\), and channels chosen as in Hayashi’s swap protocol, the network implements the full 2-qubit Clifford group. The construction uses Bell measurements, Pauli-frame propagation through a Clifford unitary \(U_{\text{Cl}}\), and final Pauli corrections depending on transmitted classical bits, yielding a **Butterfly Global Clifford Unit (2-ebit)**. These units form a resource-ordered hierarchy
\[
\mathcal{U}_0 \subset \mathcal{U}_1 \subset \mathcal{U}_2.
\]
The paper also notes that the set of implementable unitaries in the 0-ebit regime is not closed under composition unless extra resources are added [1010.4350].

In this setting, a unified butterfly unit is a network-level gate family parameterized by channel capacities and initial entanglement resources.

## 6. Cross-domain synthesis, limits, and common design principles

Across these literatures, the butterfly unit is always a multistage structure with sparse local interactions, but the meaning of “unit” changes with the application. In IBF and oscillatory integral transforms, the unit is a level-wise sparse matrix factor with \(O(N)\) nonzeros, assembled into an \(O(N\log N)\) factorization [1605.03616]. In the unified oscillatory-transform framework, the unit is either a NUFFT butterfly or a general BF/IBF-MAT butterfly, selected by an \(O(N)\) decision algorithm [1803.04128]. In FABNet, the unit is a parameterized butterfly transform operator and an adaptable hardware cell that switches between FFT and butterfly-linear mode [2209.09570]. In PQC accelerators, the unit is a shared NTT/INTT processing element with redundant Montgomery arithmetic and mode-dependent control [2607.00621]. In distributed quantum computation, the unit is a maximal class of implementable two-qubit unitaries over a fixed butterfly topology and resource profile [1010.4350].

Several limitations are explicit. In the oscillatory-transform setting, NUFFT is used only when the residual
\[
\mathcal{A}\odot e^{2\pi i(\Phi - P Q^*)}
\]
has sufficiently small numerical rank; otherwise the framework falls back to BF/IBF-MAT [1803.04128]. In FABNet, self-attention’s quadratic term in sequence length remains in ABfly, FABNet still retains some full attention blocks for accuracy, the butterfly pattern is static, and only 16-bit floating point is used [2209.09570]. In the PQC setting, redundancy adds 3 bits to coefficient width and slightly more LUTs and FFs, and for large \(w\times1\) arrays the frequency drops due to routing pressure [2607.00621]. In the quantum setting, swap and generic non-controlled unitaries are impossible without ebits, and composition of 0-ebit units does not in general stay within the locally controlled-equivalent class [1010.4350].

A plausible implication is that “Unified Butterfly Units” is best understood not as a single algorithm but as a reusable design pattern. The invariant ingredients are a butterfly connectivity pattern, a small set of mode-dependent local transforms, and a control layer that decides which butterfly behavior is valid under the available structure. In the mathematical formulations this structure is complementary low rank or approximate phase separability; in the hardware formulations it is the reuse of the same multipliers, adders, and memory system across closely related butterfly modes; in the quantum formulation it is the sharp relation between channel capacities, entanglement resources, and the maximal implementable gate family.

This suggests a unifying technical definition: a unified butterfly unit is a butterfly-structured primitive whose topology is fixed, whose internal coefficients or arithmetic mode are reconfigurable, and whose efficiency derives from preserving a sparse multistage pattern while specializing only the local transfer rules.

Source: https://www.emergentmind.com/topics/unified-butterfly-units