     }
     timers["searching"].stop();
 
+    if (args.progress_bar)
+      printf("Complete (execution time %.2f s)\n",timers["searching"].getTime());
+
 
   }
   

    std::cout << "Executing dedispersion" << std::endl;
    }

    if (args.progress_bar) printf("Starting dedispersion...\n");

    timers["dedispersion"].start();
    PUSH_NVTX_RANGE("Dedisperse",3)


    if (args.progress_bar)
      printf("Complete (execution time %.2f s)\n",timers["dedispersion"].getTime());
    
    if (args.progress_bar) std::cout <<"Starting searching..."  << std::endl;

    //Multithreading commands
    timers["searching"].start();
    std::vector<Worker*> workers(nthreads);
