subroutine print_bit_rep(ilut)
implicit none
integer(n_int), intent(in) :: ilut(0:NIfTot)
real(dp) :: temp_sgn(lenof_sign)
integer :: j
! First, print the determinant (bitwise)
call WriteDetBit(stdout, ilut, .false.)
! Then, the excitation level
write(stdout, "(5X)", advance='no')
write(stdout, "(G1.4)", advance='no') FindBitExcitLevel(ilut, ilutRef(:, 1))
! And the sign coherence parameter
write(stdout, "(G16.7)", advance='no') get_sign_op(ilut)
! And then the sign
call extract_sign(ilut, temp_sgn)
do j = 1, lenof_sign
write(stdout, "(G16.7)", advance='no') temp_sgn(j)
end do
write(stdout, '()')
end subroutine print_bit_rep