# Set default build type
 if(NOT CMAKE_BUILD_TYPE)
-    set(CMAKE_BUILD_TYPE "Debug")
+    set(CMAKE_BUILD_TYPE "Release")
 endif()
 
 # Set default C++ flags.
 
 void cohpsk_destroy(struct COHPSK *coh);
 void cohpsk_mod(struct COHPSK *cohpsk, COMP tx_fdm[], int tx_bits[]);
 void cohpsk_clip(COMP tx_fdm[]);
-void cohpsk_demod(struct COHPSK *cohpsk, float rx_bits[], int *reliable_sync_bit, COMP rx_fdm[], int *nin_frame);
+void cohpsk_demod(struct COHPSK *cohpsk, float rx_bits[], int *sync, COMP rx_fdm[], int *nin_frame);
 void cohpsk_get_demod_stats(struct COHPSK *cohpsk, struct MODEM_STATS *stats);
 
 #endif
 
 
 \*---------------------------------------------------------------------------*/
 
-void cohpsk_demod(struct COHPSK *coh, float rx_bits[], int *reliable_sync_bit, COMP rx_fdm[], int *nin_frame)
+void cohpsk_demod(struct COHPSK *coh, float rx_bits[], int *sync_good, COMP rx_fdm[], int *nin_frame)
 {
     COMP  ch_symb[NSW*NSYMROWPILOT][COHPSK_NC*ND];
     int   i, j, sync, anext_sync, next_sync, nin, r, c;
 
     /* if we are in sync complete demodulation with symbol rate processing */
   
-    *reliable_sync_bit = 0;
+    *sync_good = 0;
     if ((next_sync == 1) || (sync == 1)) {
         qpsk_symbols_to_bits(coh, rx_bits, coh->ct_symb_ff_buf);
-        *reliable_sync_bit = 1;
+        *sync_good = 1;
     }
 
     sync = sync_state_machine(coh, sync, next_sync);        
 
     float         rx_bits[COHPSK_BITS_PER_FRAME];
     COMP          rx_fdm[COHPSK_MAX_SAMPLES_PER_FRAME];
     short         rx_fdm_scaled[COHPSK_MAX_SAMPLES_PER_FRAME];
-    int           frames, reliable_sync_bit, nin_frame;
+    int           frames, sync, nin_frame;
     float        *rx_amp_log;
     float        *rx_phi_log;
     COMP         *rx_symb_log;
             rx_fdm[i].imag = 0.0;
         }
 
-       cohpsk_demod(cohpsk, rx_bits, &reliable_sync_bit, rx_fdm, &nin_frame);
+       cohpsk_demod(cohpsk, rx_bits, &sync, rx_fdm, &nin_frame);
 
-       if (reliable_sync_bit) {
+       if (sync) {
             fwrite(rx_bits, sizeof(float), COHPSK_BITS_PER_FRAME, fout);
 
             if (oct) {
 
 int freedv_comprx(struct freedv *f, short speech_out[], COMP demod_in[]) {
     assert(f != NULL);
     int                 bits_per_codec_frame, bytes_per_codec_frame, bits_per_fdmdv_frame;
-    int                 reliable_sync_bit, i, j, bit, byte, nin_prev, nout, k;
+    int                 sync, i, j, bit, byte, nin_prev, nout, k;
     int                 recd_codeword, codeword1, data_flag_index, n_ascii;
     short               abit[1];
     char                ascii_out;
     bytes_per_codec_frame = (bits_per_codec_frame + 7) / 8;
 
     if (f->mode == FREEDV_MODE_1600) {
+        int reliable_sync_bit;
+
         bits_per_fdmdv_frame  = fdmdv_bits_per_frame(f->fdmdv);
 
         nin_prev = f->nin;
         fdmdv_demod(f->fdmdv, f->fdmdv_bits, &reliable_sync_bit, demod_in, &f->nin);
         fdmdv_get_demod_stats(f->fdmdv, &f->stats);
-        f->reliable_sync_bit = reliable_sync_bit;
+        f->sync = f->fdmdv->sync;
         f->snr_est = f->stats.snr_est;
 
         if (f->stats.sync) {
 
     if (f->mode == FREEDV_MODE_700) {
         float rx_bits[COHPSK_BITS_PER_FRAME];
-        int   reliable_sync_bit;
+        int   sync;
 
         nin_prev = f->nin;
-       cohpsk_demod(f->cohpsk, rx_bits, &reliable_sync_bit, demod_in, &f->nin);
-        f->reliable_sync_bit = reliable_sync_bit;
+       cohpsk_demod(f->cohpsk, rx_bits, &sync, demod_in, &f->nin);
+        f->sync = sync;
         f->snr_est = 2.0;
-        fprintf(stderr, "%d\n", reliable_sync_bit);
 
-       if (reliable_sync_bit) {
+       if (sync) {
 
             data_flag_index = codec2_get_spare_bit_index(f->codec2);
 
 
     int                  tx_sync_bit;
     int                  total_bit_errors;
 
-    int                  reliable_sync_bit;
+    int                  sync;
     float                snr_est;
     float                snr_thresh;
     int                  nin;