subroutine f(x, r)
include 'saddle-FF-adifor.inc'
double precision x(4), r
r = (x(1)*x(1)+x(2)*x(2))-(x(3)*x(3)+x(4)*x(4))
end
subroutine inner(x2, r)
include 'saddle-FF-adifor.inc'
double precision x2(ninner), r, x(ntotal), s, x1c(nouter)
common /closure/ x1c
x(1) = x1c(1)
x(2) = x1c(2)
x(3) = x2(1)
x(4) = x2(2)
call f(x, s)
r = -s
end