diff --git a/src/kernel_hydro.h b/src/kernel_hydro.h
index ad960d5e6629d5abdbb00ae9407f1634db54f804..93011e61f2a5fe8ff24940819c5d3de6ded6ead7 100644
--- a/src/kernel_hydro.h
+++ b/src/kernel_hydro.h
@@ -220,10 +220,34 @@ __attribute__((always_inline)) INLINE static void kernel_eval(float u,
  * Return 0 if $u > \\gamma = H/h$
  *
  * @param u The ratio of the distance to the smoothing length $u = x/h$.
- * @param W (return) The value of the kernel function $W(x,h)$.
- * @param dW_dx (return) The norm of the gradient of $|\\nabla W(x,h)|$.
+ * @param w (return) The value of the kernel function $W(x,h)$.
+ * @param dw_dx (return) The norm of the gradient of $|\\nabla W(x,h)|$.
  */
-
+  
+  static const vector kernel_igamma_vec =   {.f[0] = (float)kernel_igamma, .f[1] = (float)kernel_igamma, 
+                                             .f[2] = (float)kernel_igamma, .f[3] = (float)kernel_igamma,
+                                             .f[4] = (float)kernel_igamma, .f[5] = (float)kernel_igamma,
+                                             .f[6] = (float)kernel_igamma, .f[7] = (float)kernel_igamma};
+  
+  static const vector kernel_ivals_vec =    {.f[0] = (float)kernel_ivals, .f[1] = (float)kernel_ivals, 
+                                             .f[2] = (float)kernel_ivals, .f[3] = (float)kernel_ivals,
+                                             .f[4] = (float)kernel_ivals, .f[5] = (float)kernel_ivals,
+                                             .f[6] = (float)kernel_ivals, .f[7] = (float)kernel_ivals};
+  
+  static const vector kernel_constant_vec = {.f[0] = (float)kernel_constant, .f[1] = (float)kernel_constant, 
+                                             .f[2] = (float)kernel_constant, .f[3] = (float)kernel_constant,
+                                             .f[4] = (float)kernel_constant, .f[5] = (float)kernel_constant,
+                                             .f[6] = (float)kernel_constant, .f[7] = (float)kernel_constant};
+
+  static const vector kernel_igamma3_vec =  {.f[0] = (float)kernel_igamma3, .f[1] = (float)kernel_igamma3, 
+                                             .f[2] = (float)kernel_igamma3, .f[3] = (float)kernel_igamma3,
+                                             .f[4] = (float)kernel_igamma3, .f[5] = (float)kernel_igamma3,
+                                             .f[6] = (float)kernel_igamma3, .f[7] = (float)kernel_igamma3};
+  
+  static const vector kernel_igamma4_vec =  {.f[0] = (float)kernel_igamma4, .f[1] = (float)kernel_igamma4, 
+                                             .f[2] = (float)kernel_igamma4, .f[3] = (float)kernel_igamma4,
+                                             .f[4] = (float)kernel_igamma4, .f[5] = (float)kernel_igamma4,
+                                             .f[6] = (float)kernel_igamma4, .f[7] = (float)kernel_igamma4};
 __attribute__((always_inline))
     INLINE static void kernel_deval_vec(vector *u, vector *w, vector *dw_dx) {
 
@@ -231,10 +255,10 @@ __attribute__((always_inline))
   int j, k;
 
   /* Go to the range [0,1[ from [0,H[ */
-  x.v = u->v * vec_set1((float)kernel_igamma);
+  x.v = u->v * kernel_igamma_vec.v;
 
   /* Load x and get the interval id. */
-  ind.m = vec_ftoi(vec_fmin(x.v * vec_set1((float)kernel_ivals), vec_set1((float)kernel_ivals)));
+  ind.m = vec_ftoi(vec_fmin(x.v * kernel_ivals_vec.v, kernel_ivals_vec.v));
 
   /* load the coefficients. */
   for (k = 0; k < VEC_SIZE; k++)
@@ -252,8 +276,8 @@ __attribute__((always_inline))
   }
 
   /* Return everything */
-  w->v = w->v * vec_set1((float)kernel_constant) * vec_set1((float)kernel_igamma3);
-  dw_dx->v = dw_dx->v * vec_set1((float)kernel_constant) * vec_set1((float)kernel_igamma4);
+  w->v = w->v * kernel_constant_vec.v * kernel_igamma3_vec.v;
+  dw_dx->v = dw_dx->v * kernel_constant_vec.v * kernel_igamma4_vec.v;
 
 }