diff --git a/CUDA/diffmodels_utils.h b/CUDA/diffmodels_utils.h
index 5e1fbfce5f0ef3c10c549862107e08652478a7d4..6d5d05286db8013ef87a770a21eed23bceafe9e5 100644
--- a/CUDA/diffmodels_utils.h
+++ b/CUDA/diffmodels_utils.h
@@ -22,7 +22,11 @@
 #define d2lambda_gpu(d) (sqrt(double(d))) 
 
 //defined in diffmodels.h
-#define beta2f_gpu(beta) (pow(sin(double(beta)),2.0))
+//#define beta2f_gpu(beta) (pow(sin(double(beta)),2.0))
+__device__ inline  double beta2f_gpu(double beta){ 
+	double sinbeta= sin(beta);
+	return sinbeta*sinbeta;
+}
 
 //defined in diffmodels.h
 #define lambda2d_gpu(lambda) (lambda*lambda) 
@@ -37,7 +41,6 @@ __device__ inline double x2f_gpu(double x){
 	return abs(two_pi*atan(x));
 }
 
-
 //defined in miscmaths.h 
 __device__ inline  int sign_gpu(int x){ if (x>0) return 1; else { if (x<0) return -1; else return 0; } }
 __device__ inline int sign_gpu(float x){ if (x>0) return 1; else { if (x<0) return -1; else return 0; } }