anchor.diff:    integer                        :: i
     
     if(c<0)then
  +    !DIR$ VECTOR ALIGNED
       do i=1,n_pt
         res(i) = 0.d0
       enddo
  
positive.code:     call I_x2_new(c,B_10,B_01,B_00,res,n_pt)
    else if (a==1) then
      call I_x2_new(c-1,B_10,B_01,B_00,res,n_pt)
      do i=1,n_pt
        res(i) = c * B_00(i) * res(i)
      enddo
    else
      call I_x1_new(a-2,c,B_10,B_01,B_00,res,n_pt)
      call I_x1_new(a-1,c-1,B_10,B_01,B_00,res2,n_pt)
      do i=1,n_pt
        res(i) = (a-1) * B_10(i) * res(i) &
                 + c * B_00(i) * res2(i)
  
negative.code:   integer                        :: i
    
    if(c==1)then
      !DIR$ VECTOR ALIGNED
      do i=1,n_pt
        res(i) = 0.d0
      enddo
    elseif(c==0) then
      !DIR$ VECTOR ALIGNED
      do i=1,n_pt
        res(i) = 1.d0
      enddo
    else
      call I_x1_new(0,c-2,B_10,B_01,B_00,res,n_pt)
      !DIR$ VECTOR ALIGNED
      do i=1,n_pt
        res(i) =  (c-1) * B_01(i) * res(i)
      enddo
  