 
 		/* compute absolute error of computed solution */
 		abserr = mydata.compute_abserr_reconstructed(solution);
-		abserrs[depth] = abserr;
 		
 		coutMaster << " - abserr = " << abserr << std::endl;
 //		mysolver.printtimer(coutMaster);
 //		mysolver.printstatus(coutMaster);	
+
+		/* store obtained solution */
+		if(save_all){
+			coutMaster << "--- SAVING OUTPUT ---" << std::endl;
+			oss << filename_out << "_epssqr" << epssqr;
+			mydata.saveSignal1D(oss.str(),false);
+			oss.str("");
+		}
+		
+		/* store short info */
+		if(shortinfo_write_or_not){
+			/* add provided strings from console parameters and info about the problem */
+			oss_short_output_values << shortinfo_values << K << "," << epssqr << "," << abserr << ",";
+
+			/* append Theta solution */
+			oss_short_output_values << mydata.print_thetavector(); 
+
+			/* print info from solver */
+			mysolver.printshort(oss_short_output_header, oss_short_output_values);
+
+			/* append end of line */
+			oss_short_output_values << "\n";
+
+			/* write to shortinfo file */
+			shortinfo.write(oss_short_output_values.str());
+			
+			/* clear streams for next writing */
+			oss_short_output_header.str("");
+			oss_short_output_values.str("");
+		}
 	
 		/* if this solution is better then previous, then store it */
 		if(abserr < abserr_best){

			TRYCXX(VecCopy(mydata.get_gammavector()->get_vector(),gammavector_best_Vec));
			TRYCXX(VecCopy(mydata.get_thetavector()->get_vector(),thetavector_best_Vec));
		}
	}

	/* set best computed solution back to data */
	TRYCXX(VecCopy(gammavector_best_Vec,mydata.get_gammavector()->get_vector()));
	TRYCXX(VecCopy(thetavector_best_Vec, mydata.get_thetavector()->get_vector()));

/* 7.) write short output with best solution */
	if(shortinfo_write_or_not){

		/* add provided strings from console parameters and info about the problem */
		oss_short_output_header << shortinfo_header << "K,epssqr_best,abserr_best,";
		oss_short_output_values << shortinfo_values << K << "," << epssqr_best << "," << abserr_best << ",";

		/* append Theta solution */
		for(int k=0; k<K; k++) oss_short_output_header << "Theta" << k << ",";
		oss_short_output_values << mydata.print_thetavector(); 

		/* print info from solver */
		mysolver.printshort(oss_short_output_header, oss_short_output_values);

		/* append end of line */
		oss_short_output_header << "\n";
		oss_short_output_values << "\n";

		/* write to shortinfo file */
		shortinfo.write(oss_short_output_header.str());
		shortinfo.write(oss_short_output_values.str());
			
		/* clear streams for next writing */
		oss_short_output_header.str("");
		oss_short_output_values.str("");
	
	}

/* 8.) store best solution */
	coutMaster << "--- SAVING OUTPUT ---" << std::endl;

	} else {
		coutMaster << " test_filename_gamma0        = " << std::setw(30) << "NO" << " (name of input file with initial gamma approximation)\n";
	}
	coutMaster << " test_save_all               = " << std::setw(30) << save_all << " (save results for all epssqr, not only for the best one)\n";
	coutMaster << " test_epssqr                 = " << std::setw(30) << print_vector(epssqr_list) << " (penalty parameters)\n";
	coutMaster << " test_annealing              = " << std::setw(30) << annealing << " (number of annealing steps)\n";
	coutMaster << " test_cutgamma               = " << std::setw(30) << cutgamma << " (cut gamma to {0;1})\n";
