(218 . 6)(218 . 9)
13 Y := 0;
14
15 for T in 0..23 loop
16 -- NB: the mod op forces an implicit conditional (check against div 0)
17 -- If No_Implicit_Conditionals restriction is desired,
18 -- replace mod Z_Length with and (Z_Length - 1 )
19 Output(X, Y) := Rotate_Left(Input(X,Y), ((T+1)*(T+2)/2) mod Z_Length);
20 Old_Y := Y;
21 Y := 2*X + 3*Y;