con VectorReaderA; VectorReaderB; ComputeWorker; end VectorReaderA { for i = 1 to len do read val from "a.dat" put val in buf_a; end } VectorReaderB { for i = 1 to len do read val from "b.dat" put val in buf_b; end } ComputeWorker { sab = 0.0, saa = 0.0, sbb = 0.0; for i = 1 to len do get val_a from buf_a; get val_b from buf_b; sab = val_a * val_b; saa = val_a * val_a; sbb = val_b * val_b; end v = sab/sqrt(saa)*sqrt(sbb); phi = acos(v); }