the dQ accumulators are the forward's O's; dS's A fragments P's
K^T's rows as the B fragments of dQ += dS K: slice kk (keys 16 kk ..),
n-tile nt (columns 8 nt ..) of head h's 64 x seq plane
539def sqLoadKeysT = (lambda unrestricted seq : Nat . (lambda unrestricted tail : (family SM86Program) .
540 (saFor 32 (lambda unrestricted i : Nat .
541 (let unrestricted k = (naturalDivideUnchecked i 8) in (let unrestricted nt = (naturalModuloUnchecked i 8) in
542 (let unrestricted rowOffset = (naturalMultiply nt (naturalMultiply 8 (naturalMultiply seq saHalfBytes))) in
543 (lambda unrestricted rest : (family SM86Program) .
544 (saLoad (saB k nt) saValuePointer (naturalAdd rowOffset (naturalMultiply k 32)) saSB0 (naturalSelect (naturalIsZero i) saWait2 saWaitNone)
545 (saLoad (succ (saB k nt)) saValuePointer (naturalAdd rowOffset (naturalAdd (naturalMultiply k 32) 16)) saSB0 saWaitNone
546 rest)))))))
547 tail)))The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.