# Optimal code is in fact :
#
# for (i=0;i<=M;i+=2) {
#   S1 ;
# }
 
# language: C
c

# parameter n
1 3
#  n  1
1  0  1
0

1 # Number of statements

1
# {i, j | i=2*j; 0<=i<=n}
3 5
#  i  j  n  1
0  1 -2  0  0
1  1  0  0  0
1 -1  0  1  0
0  0  0
0

0 # Scattering functions
