anchor.diff:  #error "Intel MKL does not support quad-precision arithmetic."
   #endif
   
  +#ifdef PCREO_GRAD_DESC
  +#undef PCREO_BFGS
  +#else
  +#define PCREO_BFGS
  +#endif
  +
   
   
   module constants !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  
positive.code:     call print_parameters
      write(*,*)
      call initialize_point_configuration(points, energy, force)
  #ifndef PCREO_GRAD_DESC
      call identity_matrix_4(inv_hess)
  #endif
      write(*,*)
  
      ! TODO: Is there a more natural choice of initial step size?
      step_size = 1.0E-10_rk
  
      iteration_count = 0
      cur_time = current_time()
  
negative.code: #endif
      end subroutine print_optimization_status
  
  
      subroutine check_step_size
          if (step_size == 0.0_rk) then
              call print_optimization_status
              call save_point_file(points, iteration_count)
              write(*,*) "Convergence has been achieved (up to numerical&
                      & round-off error). Exiting."
              stop
          end if
      end subroutine check_step_size
  
  end program pcreo_sphere
  