function dressedFactor(fmu) result(fmup)
implicit none
real(dp), intent(in) :: fmu
real(dp) :: fmup
#ifdef CMPLX_
routine_name("dressedFactor")
call stop_all(this_routine, "not implemented for complex")
unused_var(fmu)
fmup = 0._dp
#else
real(dp) :: eCorr, e0Inits, enOffset
if (tInitsRDMRef .and. tSetupInitsEst .and. sum(abs(proje_iter)) > eps) then
! initiator-only reference energy
e0Inits = inits_estimates%energy_num(1) / inits_estimates%norm(1)
! correlation energy
eCorr = sum(proje_iter) / inum_runs + Hii - e0Inits
enOffset = (Hii - e0Inits) / eCorr
fmup = enOffset + fmu * (inum_runs * eCorr) / (sum(proje_iter))
else
fmup = fmu
end if
#endif
end function dressedFactor