% WAMVM VM test: built-in `select_/3` (choicepoint + OR-par split target).
% The check is order-insensitive so it remains valid under unordered OR-par.

sum_list([], 0).
sum_list([X|Xs], S) :-
    sum_list(Xs, S0),
    S is S0 + X.

sum_squares([], 0).
sum_squares([X|Xs], S) :-
    sum_squares(Xs, S0),
    S is S0 + X*X.

ok :-
    findall(X, select_(X, [1,2,3,4,5,6,7,8], _), Xs),
    length(Xs, 8),
    sum_list(Xs, 36),
    sum_squares(Xs, 204).

