def ssq
import bendtorch@1.3.0.0/main.bend as Bendtorchimport Base
1568# acc + a[i]·a[i] + ... over k + 1 numbers from i, in order; r holds a[i], already read
1569def ssq(k: Nat, +i: U32, acc: F32, r: Array<F32> & F32) -> AS:
1570 match k r:
1571 case 0n Tuple{a, +x}:
1572 AS{a, (acc + (x * x : F32) : F32)}
1573 case 1n+p Tuple{a, +x}:
1574 ssq(p, (i + 1 : U32), (acc + (x * x : F32) : F32), Array.get(F32, a, (i + 1 : U32)))