static void bts_trace_print_header(struct seq_file *m)
 {
-       seq_puts(m,
-                "# CPU#        FROM                   TO         FUNCTION\n");
-       seq_puts(m,
-                "#  |           |                     |             |\n");
+       seq_puts(m, "# CPU#        TO  <-  FROM\n");
 }
 
 static enum print_line_t bts_trace_print_line(struct trace_iterator *iter)
        struct trace_entry *entry = iter->ent;
        struct trace_seq *seq = &iter->seq;
        struct hw_branch_entry *it;
+       unsigned long symflags = TRACE_ITER_SYM_OFFSET;
 
        trace_assign_type(it, entry);
 
        if (entry->type == TRACE_HW_BRANCHES) {
                if (trace_seq_printf(seq, "%4d  ", entry->cpu) &&
-                   trace_seq_printf(seq, "0x%016llx -> 0x%016llx ",
-                                    it->from, it->to) &&
-                   (!it->from ||
-                    seq_print_ip_sym(seq, it->from, /* sym_flags = */ 0)) &&
+                   seq_print_ip_sym(seq, it->to, symflags) &&
+                   trace_seq_printf(seq, "\t  <-  ") &&
+                   seq_print_ip_sym(seq, it->from, symflags) &&
                    trace_seq_printf(seq, "\n"))
                        return TRACE_TYPE_HANDLED;
                return TRACE_TYPE_PARTIAL_LINE;;