you need to do ALL the calculations inside the separable function. Maybe someone can post an example for you. Otherwise if you have a large number of random effects you could try the -ndb N option such as -ndb 10 or -ndb 25 the separable function with sparse matrix should be faster however.