anchor.diff:             call apply_pbc(colloids, solvent_cells% edges)
              call solvent% sort(solvent_cells)
              call neigh% update_list(colloids, solvent, max_cut + skin, solvent_cells, solvent_colloid_lj)
  -           call varia%tic()
  +           call so_timer%tic()
              !$omp parallel do
              do k = 1, solvent%Nmax
                 solvent% pos_old(:,k) = solvent% pos(:,k)
              end do
  +           call so_timer%tac()
  +           call varia%tic()
              colloids% pos_old = colloids% pos
              n_extra_sorting = n_extra_sorting + 1
              call varia%tac()
  
positive.code: 
    double precision :: total_time
    type(timer_t), target :: varia, main, time_flag, time_refuel, time_change
    type(timer_t), target :: bulk_reac_timer
    type(timer_t), target :: q_timer
    type(timer_list_t) :: timer_list
  
negative.code: 
       if (sampling) then
          temperature = compute_temperature(solvent, solvent_cells)
          kin_e = 0
          v_com = 0
          call so_timer%tic()
          !$omp parallel do private(k) reduction(+:kin_e) reduction(+:v_com)
          do k = 1, solvent%Nmax
             kin_e = kin_e + sum(solvent%vel(:,k)**2)
             v_com = v_com + solvent%vel(:,k)
          end do
          call so_timer%tac()
          call varia%tic()
          tmp_mass = solvent%Nmax
          do k = 1, colloids%Nmax
             v_com = v_com + colloids%mass(colloids%species(k)) * colloids%vel(:,k)
  