erf functions implementation