let rec filter_outputs_acc os lev new_add_levs acc =
match os with
| [] -> acc
| oe::os2 -> let lev_oe = (label_output oe) in
if (leq lev lev_oe || (List.mem lev_oe new_add_levs)) then
(filter_outputs_acc os2 lev new_add_levs (List.append acc [oe]))
else (filter_outputs_acc os2 lev new_add_levs acc)