anchor.diff:  
   !!! check whether enough seed points remaining in BOTH seed groups for branching to be done
   !!! (note: this could be improved to continue branching in one set of seeds)
  -             if(enough_points)then
  +             if(enough_points(1).or.enough_points(2))then
                   do N = 1,2 !for each of the two new branches
                      ! Set up arrays for new element and node
                      ! after create_new_node the current element == ne and current node == np
  
positive.code:        branch_fraction,length_limit,shortest_length,rotation_limit,vertex_xyz)
      !DEC$ ATTRIBUTES DLLEXPORT,ALIAS:"SO_GROW_TREE" :: GROW_TREE
  
      integer,intent(in)  :: num_vertices,num_elems_new
      integer,intent(in)  :: parent_list(:)           ! list of end branch elements to grow from
      integer,intent(in)  :: parent_ne                ! the stem branch element (e.g. lobar) that subtends the list
  
negative.code:   subroutine adjust_branch_angle(Nth,ne,np1,np2,np,angle_max,angle_min)
      !DEC$ ATTRIBUTES DLLEXPORT,ALIAS:"SO_ADJUST_BRANCH_ANGLE" :: ADJUST_BRANCH_ANGLE
  
      use indices
      use mesh_utilities,only: angle_btwn_vectors,unit_vector,vector_length
      use other_consts
  
      integer :: Nth,ne,np1,np2,np
      real(dp) :: angle_max,angle_min
  
      !Local variables
      real(dp) :: a_min,a_lim,angle,angle_sibling,length,LU,LV,U(3),V(3),W(3)
      character(len=60) :: sub_name
  
      sub_name = 'adjust_branch_angle'
  