def Mag.kara
import bend-kit-bignum@0.1.0.0/bigint.bend as Bigintimport Base
166# z0 + (s - z0 - z2) B^k + z2 B^2k, with B = 10^(4 k).
167def Mag.kara(+k: Nat, +z0: List<&2, U32>, +z2: List<&2, U32>,
168 s: List<&2, U32>) -> List<&2, U32>:
169 +mid = Mag.norm(Mag.sub(Mag.norm(Mag.sub(s, z0, 0)), z2, 0))
170 Mag.add(z0, Mag.shift(Mag.add(mid, Mag.shift(z2, k), 0), k), 0)