--- compiler/generator/code_container.cpp~	2016-06-08 13:36:37.000000000 +0200
+++ compiler/generator/code_container.cpp	2016-06-14 17:21:39.498129649 +0200
@@ -21,6 +21,7 @@
 
 #include <string>
 #include <fstream>
+#include <uuid.h>
 
 #include "code_container.hh"
 #include "recursivness.hh"
@@ -254,6 +255,7 @@
 
 ValueInst* CodeContainer::pushFunction(const string& name, Typed::VarType result, vector<Typed::VarType>& types, const list<ValueInst*>& args)
 {
+
     BasicTyped* result_type = InstBuilder::genBasicTyped(result);
 
     // Special case for "faustpower", generates sequence of multiplication
@@ -263,8 +265,15 @@
         IntNumInst* arg1 = dynamic_cast<IntNumInst*>(*it);
         
         stringstream num; num << arg1->fNum;
-        string faust_power_name = name + num.str() + ((result == Typed::kInt) ? "_i" : "_f");
- 
+
+        uuid_t uuid;
+        uuid_generate(uuid);
+        char uuid_chars[37];
+        uuid_unparse(uuid, uuid_chars);
+        string uuid_str = uuid_chars;
+        std::replace(uuid_str.begin(), uuid_str.end(), '-', '_'); 
+        string faust_power_name = name + num.str() + "_" + uuid_str + "_" + ((result == Typed::kInt) ? "_i" : "_f");
+
         list<NamedTyped*> named_args;
         named_args.push_back(InstBuilder::genNamedTyped("value", InstBuilder::genBasicTyped(types[0])));
 
