anchor.diff:      real(rk) :: last_print_time, last_save_time, cur_time
       integer :: iteration_count
   
  -#ifdef PCREO_GRAD_DESC
  -#ifdef PCREO_TRACK_ANGLE
  +#if defined(PCREO_GRAD_DESC) .and. defined(PCREO_TRACK_ANGLE)
       real(rk) :: step_angle
       real(rk) :: new_force(d + 1, num_points)
  -#endif
  -#else
  +#elif defined(PCREO_BFGS)
       real(rk) :: new_points(d + 1, num_points)
       real(rk) :: new_energy, new_force(d + 1, num_points)
  +    real(rk) :: step_direction(d + 1, num_points)
       real(rk) :: inv_hess(d + 1, num_points, d + 1, num_points)
  -    real(rk) :: step_direction(d + 1, num_points)
       real(rk), dimension(d + 1, num_points) :: delta_points, delta_gradient
   #ifdef PCREO_TRACK_ANGLE
       real(rk) :: step_angle
  
positive.code:     call print_optimization_status
  
      do
  #ifdef PCREO_GRAD_DESC
  
          step_size = quadratic_line_search(points, energy, force, 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
          points = points + step_size * force
          call constrain_points(points)
          call riesz_energy_force(points, energy, new_force)
          step_angle = sum(force * new_force) / &
              & (norm2(force) * norm2(new_force))
          force = new_force
  
  #else
  
  #ifdef PCREO_TRACK_ANGLE
          ! Multiply inverse hessian by force to obtain step direction
  
negative.code:         write(*,*) " _____   _____"
          write(*,*) "|  __ \ / ____|                David Zhang"
          write(*,*) "| |__) | |     _ __ ___  ___"
  #if defined(PCREO_GRAD_DESC)
          write(*,*) "|  ___/| |    | '__/ _ \/ _ \  Grad. Desc."
  #elif defined(PCREO_BFGS)
          write(*,*) "|  ___/| |    | '__/ _ \/ _ \    B F G S"
  #endif
          write(*,*) "| |    | |____| | |  __/ (_) |  Optimized"
  