anchor.diff:          enddo
         enddo
   
  +      do b=b_start,d
  +        a=b
  +        do c=c_start,d
  +            if (dabs(U(a,c,b)) < 1.d-15) then
  +              cycle
  +            endif
  +            idx = idx+1_8
  +            call bielec_integrals_index(a,b,c,d,key(idx))
  +            value(idx) = U(a,c,b)
  +        enddo
  +      enddo
  +
         !$OMP CRITICAL
         call map_update(map_c, key, value, idx,1.d-15) 
  +!      call map_append(map_c, key, value, idx)
         !$OMP END CRITICAL
   
     !WRITE OUTPUT
  
positive.code: 
    tempspace = (new_size * 16_8) / (1024_8 * 1024_8)
    npass = min(l_end-l_start,1 + tempspace / 2048)   ! 2 GiB of scratch space
    npass = 1
    l_block = (l_end-l_start)/npass
  
    ipass = 0
    do l_start_block = l_start, l_end, l_block
  
negative.code:     deallocate(key,value,V,T)
      !$OMP END PARALLEL
      call map_merge(map_c)
  !    call map_sort(map_c)
  
      deallocate(l_pointer)
    enddo
  