anchor.diff:  
   !=======+=========+=========+=========+=========+=========+=========+=========+
   !> get coefficient of target polygon
  -real(kind=8) function get_target_polygon_coef2_by_num(my_polygon, target_polygon_num) 
  +function get_target_polygon_coef2_by_num(my_polygon, target_polygon_num) result (res)
     implicit none
     type(polygon_type), pointer :: my_polygon !< my polygon
     integer, intent(IN) :: target_polygon_num !< target polygon number
   
  +  real(kind=8) :: res
     type(target_polygon_type), pointer :: current_target
     integer :: counter
  +
  +  res = 0.d0
   
     if (my_polygon%num_of_target < target_polygon_num) return
   
  
positive.code:   do while(associated(current_target))
      counter = counter + 1
      if (counter == target_polygon_num) then
        get_target_polygon_coef2_by_num = current_target%coef2
        return
      end if
      current_target => current_target%next
  
negative.code: 
  !=======+=========+=========+=========+=========+=========+=========+=========+
  !> get coefficient of target polygon
  function get_target_polygon_coef2_by_index(my_polygon, target_polygon_index) result(res)
    implicit none
    type(polygon_type), pointer :: my_polygon   !< my polygon
    integer, intent(IN) :: target_polygon_index !< index of target polygon
  
    real(kind=8) :: res
    type(target_polygon_type), pointer :: current_target
  
    res=0.d0
  
    current_target => my_polygon%target_polygon
    do while(associated(current_target))
      if (current_target%target%index == target_polygon_index) then
        res = current_target%coef2
        return
      end if
      current_target => current_target%next
  