anchor.diff:                     call calc_branch_direction(ne) ! calculate direction of the new branch
                      elem_field(ne_length,ne) = distance_between_points(node_xyz(1,np_start),node_xyz(1,np))
                      ! Check whether this is a new parent branch or a terminal branch
  -                   if(make_branch.and.enough_points)then ! meets all criteria for continuing branching
  +                   if(make_branch)then ! meets all criteria for continuing branching
                         num_next_parents = num_next_parents+1 ! increment the number of next parents
                         local_parent_temp(num_next_parents) = ne !records the elements that are parents
                      else ! this is a terminal branch
  
positive.code:   subroutine smooth_1d_tree(num_elem_start,length_limit)
      !DEC$ ATTRIBUTES DLLEXPORT,ALIAS:"SO_SMOOTH_1D_TREE" :: SMOOTH_1D_TREE
  
      integer,intent(in) :: num_elem_start
      real(dp),intent(in) :: length_limit
  
  
negative.code:     integer,allocatable :: num_seeds_from_elem(:)   ! records # of seeds currently grouped with an elem
      character(len=100) :: writefile
  
      integer :: i,j,kount,M,N,nd,nd_min,ne,ne_grnd_parent,ne_parent,ne_start,ne_stem,&
           noelem_parent,np,np_start,np_prnt_start,np_grnd_start,num_seeds_in_space,num_next_parents, &
           num_parents,num_terminal
  
      real(dp),dimension(3) :: COFM,candidate_xyz
      real(dp) :: distance_limit = 300.0_dp,length_parent
  
      logical :: make_branch,enough_points(2),first_group,internal, &
           limit_branching_angle = .true., &  ! option to restrict branch angle
           limit_branching_plane = .false.    ! option to restrict angle between branching planes
  
  