Predicate List: [(] [-name] [)] [-a] [-print] Eval Tree: pred=[-a] type=bi_op prec=and cost=Unknown est_success_rate=0.8000 no side effects left: pred=[-name *.srt] type=primary prec=no cost=Unknown est_success_rate=0.8000 no side effects no children. right: pred=[-print] type=primary prec=no cost=Unknown est_success_rate=1.000 side effects no children. Normalized Eval Tree: pred=[-a] type=bi_op prec=and cost=Nothing est_success_rate=0.8000 no side effects left: pred=[-a] type=bi_op prec=and cost=Nothing est_success_rate=0.8000 no side effects no left. right: pred=[-name *.srt] type=primary prec=no cost=Nothing est_success_rate=0.8000 no side effects no children. right: pred=[-print] type=primary prec=no cost=Nothing est_success_rate=1.000 side effects no children. -O2: promoting cheap predicate -name *.srt into name_list predlist before merge sort: pred=[-a] type=bi_op prec=and cost=Nothing est_success_rate=0.8000 no side effects no left. right: pred=[-name *.srt] type=primary prec=no cost=Nothing est_success_rate=0.8000 no side effects no children. predlist after merge sort: pred=[-a] type=bi_op prec=and cost=Nothing est_success_rate=0.8000 no side effects no left. right: pred=[-name *.srt] type=primary prec=no cost=Nothing est_success_rate=0.8000 no side effects no children. Not an arm swap candidate (Right subtree has side-effects): pred=[-a] type=bi_op prec=and cost=Nothing est_success_rate=0.8000 no side effects left: pred=[-a] type=bi_op prec=and cost=Nothing est_success_rate=0.8000 no side effects no left. right: pred=[-name *.srt] type=primary prec=no cost=Nothing est_success_rate=0.8000 no side effects no children. right: pred=[-print] type=primary prec=no cost=Nothing est_success_rate=1.000 side effects no children. Not an arm swap candidate (Doesn't have two arms): pred=[-a] type=bi_op prec=and cost=Nothing est_success_rate=0.8000 no side effects no left. right: pred=[-name *.srt] type=primary prec=no cost=Nothing est_success_rate=0.8000 no side effects no children. Not an arm swap candidate (Not a binary operation): pred=[-name *.srt] type=primary prec=no cost=Nothing est_success_rate=0.8000 no side effects no children. Not an arm swap candidate (Not a binary operation): pred=[-print] type=primary prec=no cost=Nothing est_success_rate=1.000 side effects no children. Optimized Eval Tree: pred=[-a] type=bi_op prec=and cost=Nothing est_success_rate=0.8000 no side effects left: pred=[-a] type=bi_op prec=and cost=Nothing est_success_rate=0.8000 no side effects no left. right: pred=[-name *.srt] type=primary prec=no cost=Nothing est_success_rate=0.8000 no side effects no children. right: pred=[-print] type=primary prec=no cost=Nothing est_success_rate=1.000 side effects no children. Optimized command line: -name *.srt [est success rate 0.8] [real success rate 0/0=_] -a [est success rate 0.8] [real success rate 0/0=_] -print [est success rate 1] [real success rate 0/0=_] consider_visiting (early): '.': fts_info=FTS_D , fts_level= 0, prev_depth=-2147483648 fts_path='.', fts_accpath='.' consider_visiting (late): '.': fts_info=FTS_D , isdir=1 ignore=0 have_stat=1 have_type=1 consider_visiting (early): './\325\253\302\265\366+\325\361\275\322\374\253\322\342\203\322\351+\322\351\245\322\342\304\264+\364rd\264+\34207.srt': fts_info=FTS_NSOK, fts_level= 1, prev_depth=0 fts_path='./\325\253\302\265\366+\325\361\275\322\374\253\322\342\203\322\351+\322\351\245\322\342\304\264+\364rd\264+\34207.srt', fts_accpath='\325\253\302\265\366+\325\361\275\322\374\253\322\342\203\322\351+\322\351\245\322\342\304\264+\364rd\264+\34207.srt' consider_visiting (late): './\325\253\302\265\366+\325\361\275\322\374\253\322\342\203\322\351+\322\351\245\322\342\304\264+\364rd\264+\34207.srt': fts_info=FTS_NSOK, isdir=0 ignore=0 have_stat=0 have_type=1 ./?????+???????????+???????+?rd?+?07.srt consider_visiting (early): '.': fts_info=FTS_DP, fts_level= 0, prev_depth=1 fts_path='.', fts_accpath='.' consider_visiting (late): '.': fts_info=FTS_DP, isdir=1 ignore=1 have_stat=1 have_type=1 Predicate success rates after completion: -name *.srt [est success rate 0.8] [real success rate 1/2=0.5] -a [est success rate 0.8] [real success rate 1/2=0.5] -print [est success rate 1] [real success rate 1/1=1]