anchor.diff:      !------------------- Start HRMC. -----------------!
   
   #ifndef SERIAL
  -    call mpi_barrier(colored_comm, mpierr)
  +    call mpi_barrier(communicator, mpierr)
   #endif
   
           ! Calculate initial chi2
  
positive.code: 
  #ifndef SERIAL
      ! Free the sub-communicators and finalize
      call mpi_comm_free(colored_comm, mpierr)
      call mpi_finalize(mpierr)
  #endif
  
  end program hrmc
  
  
  elemental subroutine str2int(str, int, stat)
      implicit none
      character(len=*), intent(in) :: str
      integer, intent(out)         :: int
      integer, intent(out)         :: stat
  
      read(str, *, iostat=stat)  int
  end subroutine str2int
  
negative.code:             endif
  
              if(energy_accepted) then
                  call fem_update(m, w, res, k, vk, scatfact_e, communicator, istat)
  
                  chi2_no_energy = chi_square(alpha, vk_exp, vk_exp_err, vk, scale_fac, nk)
                  chi2_new = chi2_no_energy + te2
                  del_chi = chi2_new - chi2_old
  #ifndef SERIAL
                  call mpi_bcast(del_chi, 1, mpi_double, 0, communicator, mpierr)
  #endif
  
                  ! Test if the move should be accepted or rejected based on del_chi
  