The execution profiler of SICStus Prolog 4.5.1 reported the following to me:
| ?- print_profile. insns try/retry called name ---------------------------------------------------------------- ... ---------------------------------------------------------------- 1769156/8845768 prolog:evaluate/2 7076612/8845768 prolog:evaluate2/2 76073600 7076616 8845768 prolog:evaluate2/2 7076612/8845768 prolog:evaluate2/2 ---------------------------------------------------------------- ...
Out of curiosity: what is evaluate2/2
and how can I find out which parts of Prolog code call it?
(My best guess is this: evaluate/2
and evaluate2/2
evaluate arithmetic expressions which are still variable when some (is)/2
goals are compiled...)