functionfoo(p)double precision foo
double precisionp(2)
foo=p(1)**2+p(2)**2;returnend function foo
program main
double precision foo
double precisionp(2)p(1)=4p(2)=5write(*,*) p,foo(p)calloptimize_powell(foo,2,p,1E-10)write(*,*) p,foo(p)end program main