def lsum
import bendtorch@1.3.0.0/main.bend as Bendtorchimport Base
1453# acc + exp(a[j] - m) for j = idx..idx + k, in order
1454def lsum(k: Nat, +idx: U32, +m: F32, acc: F32, r: Array<F32> & F32) -> AS:
1455 match k r:
1456 case 0n Tuple{a, +x}:
1457 AS{a, (acc + F32.exp((x - m : F32)) : F32)}
1458 case 1n+q Tuple{a, +x}:
1459 lsum(q, (idx + 1 : U32), m, (acc + F32.exp((x - m : F32)) : F32), Array.get(F32, a, (idx + 1 : U32)))