anchor.diff:    integer         , intent(in   ) :: py_lo(3), py_hi(3)
     integer         , intent(in   ) :: pz_lo(3), pz_hi(3)
     integer         , intent(in   ) :: vo_lo(3), vo_hi(3)
  -  
  +
     double precision, intent(in   ) :: rho(r_lo(1):r_hi(1),r_lo(2):r_hi(2),r_lo(3):r_hi(3))
     double precision, intent(in   ) :: xmom(px_lo(1):px_hi(1),px_lo(2):px_hi(2),px_lo(3):px_hi(3))
     double precision, intent(in   ) :: ymom(py_lo(1):py_hi(1),py_lo(2):py_hi(2),py_lo(3):py_hi(3))
     double precision, intent(in   ) :: zmom(pz_lo(1):pz_hi(1),pz_lo(2):pz_hi(2),pz_lo(3):pz_hi(3))  
     double precision, intent(in   ) :: vol(vo_lo(1):vo_hi(1),vo_lo(2):vo_hi(2),vo_lo(3):vo_hi(3))
  -  
  +
     integer         , intent(in   ) :: lo(3), hi(3)
     double precision, intent(in   ) :: dx(3), time
     double precision, intent(inout) :: com_p_x, com_p_y, com_p_z
  
positive.code: 
  subroutine update_center(time) bind(C)
  
    use bl_constants_module, only: ZERO  
    use probdata_module, only: bulk_velx, bulk_vely, bulk_velz, &
                               center_fracx, center_fracy, center_fracz
    use prob_params_module, only: center, problo, probhi, dim
  
negative.code: 
             vel(1) = xmom(i,j,k) * rhoInv
             vel(2) = ymom(i,j,k) * rhoInv
             vel(3) = zmom(i,j,k) * rhoInv
  
             ! Account for symmetric boundaries.
  
             vel = merge(ZERO, vel, physbc_lo(:) .eq. Symmetry)
             vel = merge(ZERO, vel, physbc_hi(:) .eq. Symmetry)
  
             vel = inertial_velocity(pos, vel, time)
  
             g(1) = gravx(i,j,k)
  