      program try
      integer :: pcrc_dad_A
      integer :: pcrc_sdd0,pcrc_sdd1
      integer :: pcrc_tbs1
      integer :: pcrc_tdd1
      integer :: pcrc_irg0
      integer :: pcrc_lil_i,pcrc_liu_i,pcrc_lis_i
      integer :: pcrc_u00
      integer :: pcrc_v00
      integer :: pcrc_sdx0
      include 'pcrc.inc'
      include 'pcrc_stack.inc'
      integer :: A(0:1)
      integer :: pcrc_rng_TMP000(1)
      integer :: pcrc_grp_P
      integer :: pcrc_shp_P(1)
      call pcrc_init ()
      pcrc_shp_P(1) = 4
      pcrc_grp_P = pcrc_new_group_grid (1,pcrc_shp_P)
      pcrc_rng_TMP000(1) = pcrc_new_range_distribute (1,4,1,pcrc_grp_P,1&
     &)
      pcrc_dad_A = pcrc_new_array_data (A,pcrc_integer,pcrc_size_integer&
     &,1,pcrc_grp_P)
      call pcrc_set_array_align (pcrc_dad_A,1,1,4,1,0,1,0,pcrc_rng_TMP00&
     &0(1))
      pcrc_irg0 = pcrc_new_range_loop (2,4,1,1,0,pcrc_range (pcrc_dad_A,&
     &1))
      call pcrc_loop_bounds (pcrc_irg0,pcrc_lil_i,pcrc_liu_i,pcrc_lis_i)

      pcrc_sdd0 = pcrc_new_array_section (1,pcrc_dad_A)
      call pcrc_set_array_triplet (pcrc_sdd0,1,2,4,1,pcrc_dad_A,1)
      call pcrc_coef (pcrc_dad_A,1,2,4,1,1,0,0,pcrc_u00,pcrc_v00)
      pcrc_sdx0 = pcrc_v00
      pcrc_sdd1 = pcrc_new_array_section (1,pcrc_dad_A)
      call pcrc_set_array_triplet (pcrc_sdd1,1,1,3,1,pcrc_dad_A,1)
      pcrc_tdd1 = pcrc_new_array_section (1,pcrc_dad_A)
      call pcrc_set_array_triplet (pcrc_tdd1,1,2,4,1,pcrc_dad_A,1)
      pcrc_tbs1 = pcrc_integer_alloc (pcrc_size (pcrc_tdd1))
      call pcrc_reset_array_base (pcrc_tdd1,pcrc_integer_stack(pcrc_tbs1&
     &))
      call pcrc_shift (pcrc_tdd1,pcrc_sdd1,1,-1)
      if (pcrc_on (pcrc_group (pcrc_sdd0))) then 
          do  i=0,(pcrc_liu_i-pcrc_lil_i)/pcrc_lis_i,1
            A(pcrc_sdx0) = pcrc_integer_stack(pcrc_tbs1+pcrc_sdx0)
            pcrc_sdx0 = pcrc_sdx0+pcrc_u00
         enddo
       endif
      call pcrc_integer_free (pcrc_tbs1)
      call pcrc_delete_array (pcrc_tdd1)
      call pcrc_delete_array (pcrc_sdd1)
      call pcrc_delete_array (pcrc_sdd0)
      call pcrc_delete_range (pcrc_irg0)
      call pcrc_delete_array (pcrc_dad_A)
      call pcrc_delete_range (pcrc_rng_TMP000(1))
      call pcrc_delete_group (pcrc_grp_P)
      call pcrc_finalize ()
      end program

