+/**
+ * Computes the costs of a copy according to loop depth
+ * @param co The copy opt object.
+ * @param pos the argument position of arg in the root arguments
+ * @return Must be >= 0 in all cases.
+ */
+int co_get_costs_loop_depth(const copy_opt_t *co, ir_node *root, ir_node* arg, int pos);
+
+/**
+ * Computes the costs of a copy according to execution frequency
+ * @param co The copy opt object.
+ * @param pos the argument position of arg in the root arguments
+ * @return Must be >= 0 in all cases.
+ */
+int co_get_costs_exec_freq(const copy_opt_t *co, ir_node *root, ir_node* arg, int pos);
+
+/**
+ * All costs equal 1. Using this will reduce the _number_ of copies.
+ * @param co The copy opt object.
+ * @return Must be >= 0 in all cases.
+ */
+int co_get_costs_all_one(const copy_opt_t *co, ir_node *root, ir_node* arg, int pos);
+
+#ifdef _MSC_VER
+typedef __int64 long64;
+typedef unsigned __int64 ulong64;