diff --git a/example/main.cpp b/example/main.cpp
index f01923061e4fe7c5c3c9bd70fe1caf194260dcd6..ab8a77c0bb607d09fad75e8de3009768d8fdab95 100644
--- a/example/main.cpp
+++ b/example/main.cpp
@@ -393,6 +393,7 @@ int runTest(clFFT_Dim3 n, int batchSize, clFFT_Direction dir, clFFT_Dimension di
 #endif
 
     int length = n.x * n.y * n.z * batchSize;
+    float normFactor = 1.0 / (n.x * n.y * n.z);
 
     clFFT_SplitComplex data_i_split = (clFFT_SplitComplex) { NULL, NULL };
     clFFT_SplitComplex data_cl_split = (clFFT_SplitComplex) { NULL, NULL };
@@ -613,6 +614,26 @@ int runTest(clFFT_Dim3 n, int batchSize, clFFT_Direction dir, clFFT_Dimension di
         free(result_split.real);
         free(result_split.imag);
     }
+#else
+    log_info("Output power spectrum for manual validation (normalized):\n");
+    
+    printf("n: %u, length: %i\n", n.x * n.y * n.z, length);
+    if(dataFormat != clFFT_SplitComplexFormat) {
+        clFFT_SplitComplex result_split;
+        result_split.real = (float *) malloc(length*sizeof(float));
+        result_split.imag = (float *) malloc(length*sizeof(float));
+        convertInterleavedToSplit(&result_split, data_cl, length);
+        for(int i = 0; i < length; ++i) {
+            printf("%f\n", normFactor * (result_split.real[i]*result_split.real[i] + result_split.imag[i]*result_split.imag[i]));
+        }
+        free(result_split.real);
+        free(result_split.imag);
+    }
+    else {
+        for(int i = 0; i < length; ++i) {
+            printf("%f\n", normFactor * (data_cl_split.real[i]*data_cl_split.real[i] + data_cl_split.imag[i]*data_cl_split.imag[i]));
+        }
+    }
 #endif
 
 cleanup: