import Common
run = let start = [1, 1]
f x1 y1 x2 y2 = ((sqr x1) + (sqr y1)) - ((sqr x2) + (sqr y2))
[x1_star, y1_star] =
multivariate_argmin
(\ [x1, y1] ->
multivariate_max
(\ [x2, y2] -> f (lift x1) (lift y1) x2 y2)
(map lift start))
start
[x2_star, y2_star] =
multivariate_argmax
(\ [x2, y2] -> f (lift x1_star) (lift y1_star) x2 y2)
start
in [[x1_star, y1_star], [x2_star, y2_star]]
main = print run