use double-double precision for sinpi