1 SUBROUTINE calc_S_derivs()
2    INTEGER, DIMENSION(6, 2)      :: c_map_mat
3    INTEGER, DIMENSION(:), POINTER:: C_mat
4    DO j=1,3
5       DO m=j,3
6          n=n+1
7          c_map_mat(n,1)=j
8          IF(m==j)CYCLE
9          c_map_mat(n,2)=m
10       END DO
11    END DO
12    DO m=1,6
13       DO j=1,2
14          IF(c_map_mat(m,j)==0)CYCLE
15          CALL foo(C_mat(c_map_mat(m,j)))
16       END DO
17    END DO
18  END SUBROUTINE calc_S_derivs
19