hpmc function

hpmc function