anchor.diff:  cf2py intent(inplace) C
   cf2py intent(hide) nx, ny, Bk
   cf2py logical intent(in), optional:: symm=0
  -cf2py double precision intent(in),check(origin_val>0)::origin_val
   
         DOUBLE PRECISION C(nx,ny), Gt(nx,ny)
         DOUBLE PRECISION hx(nx), hy(ny)
  -      DOUBLE PRECISION origin_val
  +      DOUBLE PRECISION origin_val(nx,ny)
         DOUBLE PRECISION rem, dd_here, far
         DOUBLE PRECISION GA, prefac, snu
         INTEGER nx, ny, i, j, fl, N, cmin, cmax
  
positive.code: 
  
              if (C(i,j) .EQ. 0.0D0) then
                C(i,j)=origin_val / dd_here
              else
                if (dd_here .GT. 5.0D0) then
                    C(i,j)=dexp(-C(i,j)**2)/dd_here*origin_val
                    goto 1
                endif      
  
                GA = DGAMMA(dd_here+1.0D0)
                prefac = 0.5D0 ** (dd_here-1.0D0) / GA
                prefac = prefac * origin_val
                snu = DSQRT(dd_here) * 2.0D0
                fl = INT(dd_here)
                rem = dd_here - fl
  
negative.code:             end if            
              
              if (C(i,j) .EQ. 0.0D0) then
                C(i,j)=origin_val(i,j) / dd_here
              else
                if (dd_here .GT. 5.0D0) then
                  C(i,j)=dexp(-C(i,j)**2)/dd_here*origin_val(i,j)
                  goto 2
                endif      
  
                GA = DGAMMA(dd_here+1.0D0)
                prefac = 0.5D0 ** (dd_here-1.0D0) / GA
                prefac = prefac * origin_val(i,j)
                snu = DSQRT(dd_here) * 2.0D0
                fl = INT(dd_here)
                rem = dd_here - fl
  