let start = [(Base 1.0); (Base 1.0)]
let f x1 y1 x2 y2 = ((sqr x1)+.(sqr y1))-.((sqr x2)+.(sqr y2))
let [x1_star; y1_star] =
multivariate_argmin
(fun [x1; y1] ->
multivariate_max
(fun [x2; y2] -> f x1 y1 x2 y2)
start)
start
let [x2_star; y2_star] =
multivariate_argmax
(fun [x2; y2] -> f x1_star y1_star x2 y2)
start
let _ = [[(write x1_star); (write y1_star)];
[(write x2_star); (write y2_star)]]