[atomic] functions for calculation sidebands
[atomic] add cache for factorial
[atomic] use openmp
[atomic] use reduction
[atomic] remove extra cast