anchor.diff:            x = x + 0.5*s_length * xp
             y = y + 0.5*s_length * yp
             CALL CALC_ION_LOSS_CRY(IS,is2,PC,s_length,DESt)
  -          CALL MOVE_AM_(IS,is2,NAM,s_length,DESt,DLYi(IS2),DLRi(IS2),xp ,yp,PC)
  +          CALL move_am(IS,is2,NAM,s_length,DESt,DLYi(IS2),DLRi(IS2),xp ,yp,PC)
             x = x + 0.5*s_length * xp
             y = y + 0.5*s_length * yp
           ENDIF                                    !
  
positive.code:             y=y+0.5*yp*(s_length-Srefl)
  !            write(*,*) "s_length-Srefl", s_length-Srefl
              CALL CALC_ION_LOSS_CRY(IS,is2,PC,s_length-Srefl,DESt)
              CALL MOVE_AM_(IS,is2,NAM,s_length-Srefl,DESt,DLYi(IS2),DLRi(IS2),xp ,yp,PC)
              x = x + 0.5 * xp * (s_length - Srefl)
              y = y + 0.5 * yp * (s_length - Srefl)
              endif
  
negative.code:             y=y+0.5*yp*(s_length-Srefl)
  !            write(*,*) "s_length-Srefl", s_length-Srefl
              CALL CALC_ION_LOSS_CRY(IS,is2,PC,s_length-Srefl,DESt)
              CALL move_am(IS,is2,NAM,s_length-Srefl,DESt,DLYi(IS2),DLRi(IS2),xp ,yp,PC)
              x = x + 0.5 * xp * (s_length - Srefl)
              y = y + 0.5 * yp * (s_length - Srefl)
              else
  