+ *
+ * @param tv the tarval
+ */
+FIRM_API int tarval_ieee754_get_exponent(ir_tarval *tv);
+
+/**
+ * Check if the tarval can be converted to the given mode without
+ * precision loss.
+ *
+ * @param tv the tarval
+ * @param mode the mode to convert to
+ */
+FIRM_API int tarval_ieee754_can_conv_lossless(ir_tarval *tv, ir_mode *mode);
+
+/**
+ * Set the immediate precision for IEEE-754 results. Set this to
+ * 0 to get the same precision as the operands.
+ * For x87 compatibility, set this to 80.
+ *
+ * @return the old setting
+ */
+FIRM_API unsigned tarval_ieee754_set_immediate_precision(unsigned bits);
+
+/**
+ * Returns non-zero if the result of the last IEEE-754 operation was exact.
+ */
+FIRM_API unsigned tarval_ieee754_get_exact(void);
+
+/**
+ * Return the size of the mantissa in bits (including possible
+ * implicit bits) for the given mode.
+ */
+FIRM_API unsigned tarval_ieee754_get_mantissa_size(const ir_mode *mode);
+
+/**
+ * Enable/Disable floating point constant folding.
+ */
+FIRM_API void tarval_enable_fp_ops(int enable);
+
+/** returns 0/1 if floating point folding is enable/disabled */
+FIRM_API int tarval_fp_ops_enabled(void);
+
+/**
+ * Check if its the a floating point NaN.
+ *
+ * @param tv the tarval
+ */
+FIRM_API int tarval_is_NaN(ir_tarval *tv);
+
+/**
+ * Check if its the a floating point +inf.
+ *
+ * @param tv the tarval
+ */
+FIRM_API int tarval_is_plus_inf(ir_tarval *tv);
+
+/**
+ * Check if its the a floating point -inf.
+ *
+ * @param tv the tarval