 
     fp->layers[fp->numlayers - 1]->predecessors = predecessors;
 
-    update_state_using_previous_layers_sparse(man, fp, fp->numlayers - 1, use_area_heuristic);
+    update_state_using_previous_layers_sparse(man, fp, fp->numlayers - 1, use_area_heuristic, retain_training_data);
 }
 
 

	res_add_layer(fp, num_neurons, RESIDUAL, activation);
	fp->layers[fp->numlayers - 1]->predecessors = predecessors;

    update_state_using_previous_layers_sparse(man, fp, fp->numlayers - 1, use_area_heuristic);
}



}


void update_state_using_previous_layers_sparse(elina_manager_t* man, fppoly_t* fp, const size_t layerno, const size_t num_chunks, const size_t chunk_counter, const bool use_area_heuristic, const bool retain_training_data)
{
    const auto start = std::chrono::system_clock::now();

