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:   function rotation_angle(np1,np2,np3,np4,np5)
      !DEC$ ATTRIBUTES DLLEXPORT,ALIAS:"SO_ROTATION_ANGLE" :: ROTATION_ANGLE
  
      integer,intent(in) :: np1,np2,np3,np4,np5
  
      !Local variables
  
negative.code:     do nd=1,num_data
         nsp=map_seed_to_elem(nd) !space # that random point belongs to
         if(nsp.eq.ne1)then !random point belongs to this element space
            dist = -scalar_product_3(norml,data_xyz(1,nd)) - norml(4) ! distance between two planes
            if(dist.ge.0.0_dp)then
               if(dat1.eq.0) nd1_1st = nd
  