Since all 3 test data sets contains only one atom geometry set, the main loop in main program loops for only once. Since they are called for only once, the computation should be inside the two subroutines. The subroutine called in main loop are multual-exclusive from each other. Only one of them will be called at a time depending on the input keywords. Every subroutine called in main loop has similar execution structure.
Lets combine the above timing tables.
Let's sumarize the above disscussion. There are only two small DO loops. The time used by the two loops is little and can be ignored in computation flow tracing. Those are big numbers of calls. They are the lowest level of subroutines while take most of CPU time.