sse functions modified to handle double precision instead single precision