#lang transd MainModule: { _start: (λ (with n 5 A (for i in Range(n) project (for k in Range(n) project k)) B (for i in Range(n) project (for k in Range(n) project (- n k))) C (for i in Range(n) project (for k in Range(n) project 0)) (for i in Range( n ) do (for j in Range( n ) do (for k in Range( n ) do (+= (get (get C i) j) (* (get (get A i) k) (get (get B k) j))) ))) (lout C)) ) }