static void dump_xlated(void *buf, unsigned int len, bool opcodes)
 {
        struct bpf_insn *insn = buf;
+       bool double_insn = false;
        unsigned int i;
 
        for (i = 0; i < len / sizeof(*insn); i++) {
+               if (double_insn) {
+                       double_insn = false;
+                       continue;
+               }
+
+               double_insn = insn[i].code == (BPF_LD | BPF_IMM | BPF_DW);
+
                printf("% 4d: ", i);
                print_bpf_insn(print_insn, NULL, insn + i, true);
 
                if (opcodes) {
                        printf("       ");
                        fprint_hex(stdout, insn + i, 8, " ");
+                       if (double_insn && i < len - 1) {
+                               printf(" ");
+                               fprint_hex(stdout, insn + i + 1, 8, " ");
+                       }
                        printf("\n");
                }
-
-               if (insn[i].code == (BPF_LD | BPF_IMM | BPF_DW))
-                       i++;
        }
 }