anchor.diff:         integer(c_int) :: status
        end function objective_function_c
   
  -     ! Signature of objective gradient C callback.
  +     ! Signature of objective gradient C callback that computes the
  +     ! gradient of the objective function at a point.
        !
        ! 'dim': Dimensionality of the optimization space; the size of the
        !    arrays used for points, gradients.
  
positive.code:        initial_point_c, &
         ! Result
         min_x_c, min_f_c, min_g_c, iters_c, evals_c, &
         ! Exit status, printing
         status_message_c, status_message_length_c, print_control_c) &
         result(status_c) bind(c)
  
      implicit none
  
      ! Signature
      type(c_funptr), intent(in), value :: func, grad
      type(c_ptr), intent(in), value :: callback_data
      integer(c_int), intent(in), value :: dim_c, approximation_size_c, &
           status_message_length_c, print_control_c
      real(c_double), intent(in), value :: f_tolerance_c, g_tolerance_c
      integer(c_int), intent(in) :: bounds_control_c(dim_c)
      real(c_double), intent(in) :: lower_bounds_c(dim_c), &
  
negative.code:   !
    !    |P(g(x[i]))|inf <= g_tolerance
    !
    !    where P(g(x)) is the projected gradient of x.
    !
    ! 'initial_point_c': Point from which minimization starts, x[0].
    !
  