anchor.diff:  	 (x_u :double n)
   	 (g_l :double m)
   	 (g_u :pointer m)
  -	 (status :int)
   	 (x :pointer n)
   	 (mult_x_l :double n)
   	 (mult_x_u :double n)
   	 (obj :double))
  -      )))
  +
  +      (setf (mem-aref g_l :double 0) 25d0 (mem-aref g_u :double 0) 2d19
  +	    (mem-aref g_l :double 1) 40d0 (mem-aref g_u :double 1) 40d0)
  +
  +      (dotimes (i n)
  +	(setf (mem-aref x_l :double i) 1d0
  +	      (mem-aref x_u :double i) 5d0))
  +
  +      (let ((nlp (createipoptproblem n x_l x_u m g_l g_u 8 10 0 (callback eval_f) (callback eval_g) (callback eval_grad_f) (callback eval_jac_g) (callback eval_h))))
  +	;; Set some options
  +	(addipoptnumoption nlp "tol" 1d-9)
  +	(addipoptstroption nlp "mu_strategy" "adaptive")
  +	;; Allocate space for initial point and set values
  +	(setf (mem-aref x :double 0) 1d0
  +	      (mem-aref x :double 1) 5d0
  +	      (mem-aref x :double 2) 5d0
  +	      (mem-aref x :double 3) 1d0)
  +	;; Solve problem
  +	(ipoptsolve nlp x (null-pointer) obj (null-pointer) mult_x_l mult_x_u (null-pointer))
  +	))))
  
positive.code: 		    (mem-aref jcol :int i) col)
  	      (incf i)))
  	  (assert (= i nele_hess)))
  	))
    1)
  
  (defun test ()
  
negative.code:   (let ((x0 (mem-aref x :double 0))
  	(x1 (mem-aref x :double 1))
  	(x2 (mem-aref x :double 2))
  	(x3 (mem-aref x :double 3))
  	(lmb0 (mem-aref lmb :double 0))
  	(lmb1 (mem-aref lmb :double 1)))
      (if (null-pointer-p values) ;; Return Hessian structure
  	(let ((i 0))
  	  (dotimes (row 4)
  