diff --git a/ref/main.c b/ref/main.c
index 179d4397b8a2b5004be8d9a1582b2956c74fc448..5bd3d910ed2e7445740394f4a7d6ef4f104db127 100644
--- a/ref/main.c
+++ b/ref/main.c
@@ -29,7 +29,7 @@ double getTimeStamp() {
 int main() {
   xc_func_type gga_libxc, gga_genxc;
   int i;
-  int npoints = 10000000;
+  int npoints = 10*1000;
   //int npoints = 100;
   double *rho_libxc, *sigma_libxc;
   double *rho_genxc, *sigma_genxc;
@@ -122,7 +122,7 @@ int main() {
     v4rhosigma3_genxc, v4sigma4_genxc
   );
   E = getTimeStamp();
-  fprintf(stderr, "GGA_X_PBE_GENXC: %.4fs\n", E-S);
+  fprintf(stderr, "GGA_X_PBE_GENXC: %.4fms\n", 1e3*(E-S));
 
   if(xc_func_init(&gga_libxc, XC_GGA_X_BCGP, XC_POLARIZED) < 0) {
     fprintf(stderr, "XC_GGA_X_BCGP not found!\n");
@@ -144,14 +144,20 @@ int main() {
     v4rhosigma3_libxc, v4sigma4_libxc
   );
   E = getTimeStamp();
-  fprintf(stderr, "GGA_X_PBE: %.4fs\n", E-S);
+  fprintf(stderr, "GGA_X_PBE: %.4fms\n", 1e3*(E-S));
 
   #define CHECK_CORRECTNESS(arr1,arr2,i);  if(!nearlyEqual(arr1[i], arr2[i])) { fprintf(stderr, "Results differ!\n"); return -1; }
   for(i = 0; i < npoints; i++) {
-    CHECK_CORRECTNESS(rho_libxc, rho_genxc, 2 * i + 0);
-    CHECK_CORRECTNESS(vrho_libxc, vrho_genxc, 2 * i + 0);
-    CHECK_CORRECTNESS(v2rho2_libxc, v2rho2_genxc, 3 * i + 0);
+      CHECK_CORRECTNESS(zk_libxc, zk_genxc, i);
+//    CHECK_CORRECTNESS(rho_libxc, rho_genxc, 2 * i + 0);
+      CHECK_CORRECTNESS(vrho_libxc, vrho_genxc, 2 * i + 0);
+      CHECK_CORRECTNESS(vrho_libxc, vrho_genxc, 2 * i + 1);
+//    CHECK_CORRECTNESS(v2rho2_libxc, v2rho2_genxc, 3 * i + 0);
+      CHECK_CORRECTNESS(vsigma_libxc, vsigma_genxc, 3 * i + 0);
+      CHECK_CORRECTNESS(vsigma_libxc, vsigma_genxc, 3 * i + 1);
+      CHECK_CORRECTNESS(vsigma_libxc, vsigma_genxc, 3 * i + 2);
   }
+    printf("Results match\n");
 
   xc_func_end(&gga_libxc);
   xc_func_end(&gga_genxc);