}
 }
 
+const char *
+bi_frexp_op_name(enum bi_frexp_op op)
+{
+        switch (op) {
+        case BI_FREXPE_LOG: return "frexpe_log";
+        default: return "invalid";
+        }
+}
+
 static void
 bi_print_load_vary(struct bi_load_vary *load, FILE *fp)
 {
                 fprintf(fp, "%s", bi_table_op_name(ins->op.table));
         else if (ins->type == BI_REDUCE_FMA)
                 fprintf(fp, "%s", bi_reduce_op_name(ins->op.reduce));
+        else if (ins->type == BI_FREXP)
+                fprintf(fp, "%s", bi_frexp_op_name(ins->op.frexp));
         else if (ins->type == BI_CMP)
                 fprintf(fp, "%s", bi_cond_name(ins->op.compare));
         else
 
 const char * bi_special_op_name(enum bi_special_op op);
 const char * bi_table_op_name(enum bi_table_op op);
 const char * bi_reduce_op_name(enum bi_reduce_op op);
+const char * bi_frexp_op_name(enum bi_frexp_op op);
 
 void bi_print_instruction(bi_instruction *ins, FILE *fp);
 void bi_print_bundle(bi_bundle *bundle, FILE *fp);