(bind-func Complex_multiplication_bybuf
(lambda (a:Complexd* b:Complexd* c:Complexd* len)
(let ((i 0))
(dotimes (i len)
(tset! (pref-ptr c i) 0
(- (* (tref (pref-ptr a i) 0)
(tref (pref-ptr b i) 0))
(* (tref (pref-ptr a i) 1)
(tref (pref-ptr b i) 1))))
(tset! (pref-ptr c i) 1
(+ (* (tref (pref-ptr a i) 0)
(tref (pref-ptr b i) 1))
(* (tref (pref-ptr a i) 1)
(tref (pref-ptr b i) 0)))))
void)))