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)]]