     auto stride = blockDim.x * gridDim.x;
 
     for (; index < n; index += stride) {
-        y[incy * index] = expf(x[incx * index]);
+        y[incy * index] = exp(x[incx * index]);
     }
 }
 


    for (; index < n; index += stride) {
        cuDoubleComplex c = x[incx * index];
        double e = expf(c.x);
        y[incy * index] = make_cuDoubleComplex(e * cosf(c.y), e * sinf(c.y));
    }
}



    for (; index < n; index += stride) {
        cuComplex c = x[incx * index];
        float e = exp(c.x);
        y[incy * index] = cuCmulf(alpha, make_cuComplex(e * cos(c.y), e * sin(c.y)));
    }
}

