diff --git a/adeterminize/src/rhdpda/RhdpdaUtils.cpp b/adeterminize/src/rhdpda/RhdpdaUtils.cpp
index eb71d962f2c0e585d35ee1dcab08e413246a13a4..bd04376c52fb21642cd6a98702278ae3cfe0070d 100644
--- a/adeterminize/src/rhdpda/RhdpdaUtils.cpp
+++ b/adeterminize/src/rhdpda/RhdpdaUtils.cpp
@@ -86,10 +86,10 @@ vector<SComponent> RhdpdaUtils::generateAllPossibleSComponents(set<StateSymbolPa
     
     // Generate all possible s components
     vector<SComponent> possibleS;
-    int possibleSSize = pow(2, possiblePairsOfPairs.size());
-    for (int i = 0; i < possibleSSize; i++) {
+    long int possibleSSize = pow(2, possiblePairsOfPairs.size());
+    for (long int i = 0; i < possibleSSize; i++) {
         set<PairOfPairs> pairsOfPairsSet;
-        int mask = 1;
+        long int mask = 1;
         for (const auto& pairOfPairs : possiblePairsOfPairs) {
             if ((i & mask) != 0) {
                 pairsOfPairsSet.insert(pairOfPairs);
@@ -107,10 +107,10 @@ vector<RComponent> RhdpdaUtils::generateAllPossibleRComponents(set<StateSymbolPa
 {
     // Generate all possible r components
     vector<RComponent> possibleR;
-    int possibleRSize = pow(2, pairs.size());
-    for (int i = 0; i < possibleRSize; i++) {
+    long int possibleRSize = pow(2, pairs.size());
+    for (long int i = 0; i < possibleRSize; i++) {
         set<StateSymbolPair> pairsSet;
-        int mask = 1;
+        long int mask = 1;
         for (const auto& pair : pairs) {
             if ((i & mask) != 0) {
                 pairsSet.insert(pair);
diff --git a/adeterminize/src/vpa/VpaUtils.cpp b/adeterminize/src/vpa/VpaUtils.cpp
index 726770371fbd19cb460a8138bec8d9a5e5823c27..6feb6039c27bdd247480f7bc1c386a4138cc5759 100644
--- a/adeterminize/src/vpa/VpaUtils.cpp
+++ b/adeterminize/src/vpa/VpaUtils.cpp
@@ -91,10 +91,10 @@ vector<SComponent> VpaUtils::generateAllSComponents(const set<State>& states)
         }
     }
     vector<SComponent> possibleS;
-    int possibleSSize = pow(2, possibleStatesPairs.size());
-    for (int i = 0; i < possibleSSize; i++) {
+    long int possibleSSize = pow(2, possibleStatesPairs.size());
+    for (long int i = 0; i < possibleSSize; i++) {
         set<StatesPair> statesPairsSet;
-        int mask = 1;
+        long int mask = 1;
         for (const auto& statesPair : possibleStatesPairs) {
             if ((i & mask) != 0) {
                 statesPairsSet.insert(statesPair);
@@ -110,10 +110,10 @@ vector<SComponent> VpaUtils::generateAllSComponents(const set<State>& states)
 vector<RComponent> VpaUtils::generateAllRComponents(const set<State>& states)
 {
     vector<RComponent> possibleR;
-    int possibleRSize = pow(2, states.size());
-    for (int i = 0; i < possibleRSize; i++) {
+    long int possibleRSize = pow(2, states.size());
+    for (long int i = 0; i < possibleRSize; i++) {
         set<State> statesSet;
-        int mask = 1;
+        long int mask = 1;
         for (const auto& state : states) {
             if ((i & mask) != 0) {
                 statesSet.insert(state);