diff --git a/testings/draw_tphqr.c b/testings/draw_tphqr.c
index 8ae6448a6e3f71ce42968ebeb7f6119b5e320755..e865be51bd00809cbeea91429841af52752a2180 100644
--- a/testings/draw_tphqr.c
+++ b/testings/draw_tphqr.c
@@ -35,19 +35,27 @@ main(int argc, char ** argv)
     matrix.mt    = MT;
     matrix.nt    = NT;
 
-    rc = libhqr_init_tphqr( &qrtree, LIBHQR_TSQR, NT, 0, &matrix, LIBHQR_FLAT_TREE, qr_a, qr_p );
+    rc = libhqr_init_tphqr( &qrtree, LIBHQR_TSQR, NT, NT-1, &matrix, LIBHQR_FLAT_TREE, qr_a, qr_p );
     if ( rc != 0 ) {
         return EXIT_FAILURE;
     }
     libhqr_print_svg( &qrtree, "tphqr.svg" );
     libhqr_finalize( &qrtree );
 
-    rc = libhqr_init_tshqr( &qrtree, 0, LIBHQR_TSQR, NT, 0, &matrix );
+    rc = libhqr_init_tshqr( &qrtree, 0, LIBHQR_TSQR, NT, NT-1, &matrix );
     if ( rc != 0 ) {
         return EXIT_FAILURE;
     }
-    libhqr_print_svg( &qrtree, "tshqr.svg" );
+    qrtree.facto = LIBHQR_QR;
+    libhqr_print_svg( &qrtree, "tshqr_flat.svg" );
     libhqr_finalize( &qrtree );
 
+    rc = libhqr_init_tshqr( &qrtree, 1, LIBHQR_TSQR, NT, NT-1, &matrix );
+    if ( rc != 0 ) {
+        return EXIT_FAILURE;
+    }
+    qrtree.facto = LIBHQR_QR;
+    libhqr_print_svg( &qrtree, "tshqr_rr.svg" );
+    libhqr_finalize( &qrtree );
     return EXIT_SUCCESS;
 }
diff --git a/testings/testing_hqr.c b/testings/testing_hqr.c
index d704b0ee578d11b548dab69c08edd4dc1e8c6a21..af9bec94400c2d4ce6d43152d6503df2e5dd38ef 100644
--- a/testings/testing_hqr.c
+++ b/testings/testing_hqr.c
@@ -215,20 +215,19 @@ main(int argc, char ** argv)
         }
     }
 
+    if ( check > 1 ) {
+        printf( "<DartMeasurement name=\"failures\" type=\"numeric/integer\"\n"
+                "                 encoding=\"none\" compression=\"none\">\n"
+                "%d\n"
+                "</DartMeasurement>\n",
+                ret );
+    }
+
     if ( ret == 0 ) {
         return EXIT_SUCCESS;
     }
     else {
-        if ( check > 1 ) {
-            printf( "<DartMeasurement name=\"failures\" type=\"numeric/integer\"\n"
-                    "                 encoding=\"none\" compression=\"none\">\n"
-                    "%d\n"
-                    "</DartMeasurement>\n",
-                    ret );
-        }
-        else {
-            printf( "%d tests failed !!!\n", ret  );
-        }
+        printf( "%d tests failed !!!\n", ret  );
         return EXIT_FAILURE;
     }
 }
diff --git a/testings/testing_svd.c b/testings/testing_svd.c
index 9dccdb8bdc382251b0f5946dd1ee36f2792b3c54..c24b5217d416064790d4ac10cbf0343f5fac8415 100644
--- a/testings/testing_svd.c
+++ b/testings/testing_svd.c
@@ -150,20 +150,18 @@ main(int argc, char ** argv)
         }
     }
 
+    if ( check > 1 ) {
+        printf( "<DartMeasurement name=\"failures\" type=\"numeric/integer\"\n"
+                "                 encoding=\"none\" compression=\"none\">\n"
+                "%d\n"
+                "</DartMeasurement>\n",
+                ret );
+    }
     if ( ret == 0 ) {
         return EXIT_SUCCESS;
     }
     else {
-        if ( check > 1 ) {
-            printf( "<DartMeasurement name=\"failures\" type=\"numeric/integer\"\n"
-                    "                 encoding=\"none\" compression=\"none\">\n"
-                    "%d\n"
-                    "</DartMeasurement>\n",
-                    ret );
-        }
-        else {
-            printf( "%d tests failed !!!\n", ret  );
-        }
+        printf( "%d tests failed !!!\n", ret  );
         return EXIT_FAILURE;
     }
 }
diff --git a/testings/testing_systolic.c b/testings/testing_systolic.c
index c03bad63a6c9645276829150ad3bb203cae01471..1c9ededd63dc410148c597249c9f11282db93a05 100644
--- a/testings/testing_systolic.c
+++ b/testings/testing_systolic.c
@@ -121,20 +121,18 @@ main(int argc, char ** argv)
         }
     }
 
+    if ( check > 1 ) {
+        printf( "<DartMeasurement name=\"failures\" type=\"numeric/integer\"\n"
+                "                 encoding=\"none\" compression=\"none\">\n"
+                "%d\n"
+                "</DartMeasurement>\n",
+                ret );
+    }
     if ( ret == 0 ) {
         return EXIT_SUCCESS;
     }
     else {
-        if ( check > 1 ) {
-            printf( "<DartMeasurement name=\"failures\" type=\"numeric/integer\"\n"
-                    "                 encoding=\"none\" compression=\"none\">\n"
-                    "%d\n"
-                    "</DartMeasurement>\n",
-                    ret );
-        }
-        else {
-            printf( "%d tests failed !!!\n", ret  );
-        }
+        printf( "%d tests failed !!!\n", ret  );
         return EXIT_FAILURE;
     }
 }
diff --git a/testings/testing_tphqr.c b/testings/testing_tphqr.c
index 5ca939933ae1d11fb4d2cc6fd3c198c50bf012dc..e6a73856c2699c3db0e3fecec816f49f02794ce1 100644
--- a/testings/testing_tphqr.c
+++ b/testings/testing_tphqr.c
@@ -147,20 +147,19 @@ main(int argc, char ** argv)
         }
     }
 
+    if ( check > 1 ) {
+        printf( "<DartMeasurement name=\"failures\" type=\"numeric/integer\"\n"
+                "                 encoding=\"none\" compression=\"none\">\n"
+                "%d\n"
+                "</DartMeasurement>\n",
+                ret );
+    }
+
     if ( ret == 0 ) {
         return EXIT_SUCCESS;
     }
     else {
-        if ( check > 1 ) {
-            printf( "<DartMeasurement name=\"failures\" type=\"numeric/integer\"\n"
-                    "                 encoding=\"none\" compression=\"none\">\n"
-                    "%d\n"
-                    "</DartMeasurement>\n",
-                    ret );
-        }
-        else {
-            printf( "%d tests failed !!!\n", ret  );
-        }
+        printf( "%d tests failed !!!\n", ret  );
         return EXIT_FAILURE;
     }
 }