used double precision