:- module getopt.
:- pragma termination_info(getopt.process_options(builtin.in((getopt.option_ops)), (builtin.in), (builtin.out), (builtin.out)), infinite, can_loop).
:- pragma termination_info(getopt.process_options(builtin.in((getopt.option_ops)), (builtin.in), (builtin.out), (builtin.out), (builtin.out)), infinite, can_loop).
:- pragma termination_info(getopt.process_options_track(builtin.in((getopt.option_ops_track)), (builtin.in), (builtin.out), (builtin.out), (builtin.in), (builtin.out), (builtin.out)), infinite, can_loop).
:- pragma termination_info(getopt.init_option_table(builtin.in((pred((builtin.out), (builtin.out)) is nondet)), (builtin.out)), infinite, can_loop).
:- pragma termination_info(getopt.init_option_table_multi(builtin.in((pred((builtin.out), (builtin.out)) is multi)), (builtin.out)), infinite, can_loop).
:- pragma termination_info(getopt.lookup_bool_option((builtin.in), (builtin.in), (builtin.out)), finite(-5, [no, yes, no, no]), can_loop).
:- pragma termination_info(getopt.lookup_bool_option((builtin.in), (builtin.in)) = (builtin.out), finite(-5, [no, yes, no, no]), can_loop).
:- pragma termination_info(getopt.lookup_int_option((builtin.in), (builtin.in), (builtin.out)), finite(-5, [no, yes, no, no]), can_loop).
:- pragma termination_info(getopt.lookup_int_option((builtin.in), (builtin.in)) = (builtin.out), finite(-5, [no, yes, no, no]), can_loop).
:- pragma termination_info(getopt.lookup_string_option((builtin.in), (builtin.in), (builtin.out)), finite(-5, [no, yes, no, no]), can_loop).
:- pragma termination_info(getopt.lookup_string_option((builtin.in), (builtin.in)) = (builtin.out), finite(-5, [no, yes, no, no]), can_loop).
:- pragma termination_info(getopt.lookup_maybe_int_option((builtin.in), (builtin.in), (builtin.out)), finite(-5, [no, yes, no, no]), can_loop).
:- pragma termination_info(getopt.lookup_maybe_int_option((builtin.in), (builtin.in)) = (builtin.out), finite(-5, [no, yes, no, no]), can_loop).
:- pragma termination_info(getopt.lookup_maybe_string_option((builtin.in), (builtin.in), (builtin.out)), finite(-5, [no, yes, no, no]), can_loop).
:- pragma termination_info(getopt.lookup_maybe_string_option((builtin.in), (builtin.in)) = (builtin.out), finite(-5, [no, yes, no, no]), can_loop).
:- pragma termination_info(getopt.lookup_accumulating_option((builtin.in), (builtin.in), (builtin.out)), finite(-5, [no, yes, no, no]), can_loop).
:- pragma termination_info(getopt.lookup_accumulating_option((builtin.in), (builtin.in)) = (builtin.out), finite(-5, [no, yes, no, no]), can_loop).
:- pragma termination_info(getopt.process_arguments((builtin.in), (builtin.out), builtin.in((getopt.option_ops_internal)), (builtin.in), (builtin.out), (builtin.in), (builtin.out), (builtin.in), (builtin.out)), infinite, can_loop).
:- pragma exceptions(predicate, (getopt.process_options), 4, 0, may_throw(user_exception)).
:- pragma exceptions(predicate, (getopt.process_options), 5, 0, may_throw(user_exception)).
:- pragma exceptions(predicate, (getopt.process_options_track), 7, 0, may_throw(user_exception)).
:- pragma exceptions(predicate, (getopt.init_option_table), 2, 0, may_throw(user_exception)).
:- pragma exceptions(predicate, (getopt.init_option_table_multi), 2, 0, may_throw(user_exception)).
:- pragma exceptions(predicate, (getopt.lookup_bool_option), 3, 0, may_throw(user_exception)).
:- pragma exceptions(function, (getopt.lookup_bool_option), 3, 0, may_throw(user_exception)).
:- pragma exceptions(predicate, (getopt.lookup_int_option), 3, 0, may_throw(user_exception)).
:- pragma exceptions(function, (getopt.lookup_int_option), 3, 0, may_throw(user_exception)).
:- pragma exceptions(predicate, (getopt.lookup_string_option), 3, 0, may_throw(user_exception)).
:- pragma exceptions(function, (getopt.lookup_string_option), 3, 0, may_throw(user_exception)).
:- pragma exceptions(predicate, (getopt.lookup_maybe_int_option), 3, 0, may_throw(user_exception)).
:- pragma exceptions(function, (getopt.lookup_maybe_int_option), 3, 0, may_throw(user_exception)).
:- pragma exceptions(predicate, (getopt.lookup_maybe_string_option), 3, 0, may_throw(user_exception)).
:- pragma exceptions(function, (getopt.lookup_maybe_string_option), 3, 0, may_throw(user_exception)).
:- pragma exceptions(predicate, (getopt.lookup_accumulating_option), 3, 0, may_throw(user_exception)).
:- pragma exceptions(function, (getopt.lookup_accumulating_option), 3, 0, may_throw(user_exception)).
:- pragma exceptions(predicate, (getopt.process_arguments), 9, 0, may_throw(user_exception)).
