diff --git a/z_spm_print.c b/z_spm_print.c
index 6e4f99298b45d6ba5d4188550fc4c76932e18ce5..40c9dc70a7867c2f14a113b6882a5c5725216cc7 100644
--- a/z_spm_print.c
+++ b/z_spm_print.c
@@ -61,11 +61,11 @@ z_spmPrint( const pastix_spm_t *spm )
                 {
                     for(jj=0; jj<dofj; jj++, valptr++)
                     {
-                        fprintf( stderr, "%ld %ld %e\n",
-                                 row + jj, col + ii, *valptr );
+                        fprintf( stderr, "%ld %ld (%e, %e)\n",
+                                 row + jj, col + ii, creal(*valptr), cimag(*valptr) );
                         if (i != j) {
-                            fprintf( stderr, "%ld %ld %e\n",
-                                     col + ii, row + jj, conj(*valptr) );
+                            fprintf( stderr, "%ld %ld (%e, %e)\n",
+                                     col + ii, row + jj, creal(conj(*valptr)), cimag(conj(*valptr)) );
                         }
                     }
                 }
@@ -89,12 +89,21 @@ z_spmPrint( const pastix_spm_t *spm )
                 {
                     for(jj=0; jj<dofj; jj++, valptr++)
                     {
+#if defined(PRECISION_z) || defined(PRECISION_c)
+                        fprintf( stderr, "%ld %ld (%e, %e)\n",
+                                 row + jj, col + ii, creal(*valptr), cimag(*valptr) );
+                        if (i != j) {
+                            fprintf( stderr, "%ld %ld (%e, %e)\n",
+                                     col + ii, row + jj, creal(*valptr), cimag(*valptr) );
+                        }
+#else
                         fprintf( stderr, "%ld %ld %e\n",
                                  row + jj, col + ii, *valptr );
                         if (i != j) {
                             fprintf( stderr, "%ld %ld %e\n",
                                      col + ii, row + jj, *valptr );
                         }
+#endif
                     }
                 }
             }
@@ -117,8 +126,13 @@ z_spmPrint( const pastix_spm_t *spm )
                 {
                     for(jj=0; jj<dofj; jj++, valptr++)
                     {
+#if defined(PRECISION_z) || defined(PRECISION_c)
+                        fprintf( stderr, "%ld %ld (%e, %e)\n",
+                                 row + jj, col + ii, creal(*valptr), cimag(*valptr) );
+#else
                         fprintf( stderr, "%ld %ld %e\n",
                                  row + jj, col + ii, *valptr );
+#endif
                     }
                 }
             }