anchor.diff:               end if
             end if
             
  -          ! print reconstr. err. 
  -          max_err = sqrt(maxval((fmodel - fdata + lambda * prm)**2))
  -          grd_nrm = sqrt(sum((fmodel - fdata + lambda * prm)**2)/size(prm))
  -          
             ! compute gradient  of the cost function
             call cost_compute_gradient(fdata,fmodel,lambda,prm,grd)
  +          
  +          write(ulog,'(i6,1x,5f14.6)') &
  +               iter, sqrt(maxval(grd**2)), sum(grd**2), &
  +               data_energy/float(nvars), regularization_energy/float(nvars), elapsed
  +          flush(ulog)
   
             select case(trim(algorithm))
             case('gd')
  
positive.code:     dimm = dim1 + dim2
  
      tot_iter = 0
  
      write(ulog,'(a)') &
           '# iter, '//&
           '    max_err,   mean_err,'//&
           '     ll_ene,   data_ene,'//&
           '  prior_ene,   cpu_time,       pacc'
  
      if (niter_agd > 0) call map_all('ada',nvars,nclasses,seq,seqs_table,prm,fmodel,&
           fdata,data_format,ulog,beta,lambda,&
           niter_agd,mc_nsweeps,tot_iter,nupdate)
      
  
negative.code:           
            call cost_compute_energies(fdata,prm,lambda,data_energy,regularization_energy)
  
         end if
  
         call float_bcast(size(prm),prm)
  