It is possible that Asphyre sets the precision to single when it is initialized. So make sure you set pmdouble later in the program, after Asphyre has been set up.