def ts_add
import bendtorch@1.3.0.0/main.bend as Bendtorchimport Base
3112# the sum of a[0] .. a[m-1] as a balanced tree of additions (pairwise summation), in place: each pass adds neighbours
3113# (a[i] = a[2i] + a[2i+1], an odd last one carried), until one number is left. Its rounding error grows with log2(m),
3114# not m, as in PyTorch's cascade sum: a running sum of 295k squares was 1e-4 off (NOTES, 2026-10-17)
3115def ts_add(+i: U32, +x: F32, r: Array<F32> & F32) -> Array<F32>:
3116 match r:
3117 case Tuple{a, +y}:
3118 Array.set(F32, a, i, (x + y : F32))