diff --git a/maca_trans_parser/src/simple_decoder_parser_arc_eager.c b/maca_trans_parser/src/simple_decoder_parser_arc_eager.c
index e3a3dfbf61df10f4512f66a098455a0cb7bb47f4..b675300fa81c879c7eb9015e0a774b00b86a6e61 100644
--- a/maca_trans_parser/src/simple_decoder_parser_arc_eager.c
+++ b/maca_trans_parser/src/simple_decoder_parser_arc_eager.c
@@ -170,7 +170,7 @@ void simple_decoder_parser_arc_eager(context *ctx)
   double currentSumExp;
   double ScoreTranslation;
   int FlagNotInitExp;
-  double ProbaDivider = 100; // TO SETUP
+ // double ProbaDivider = 100; // TO SETUP
   double randomFloat;
   
   srand(mix(clock(), time(NULL), getpid()));
@@ -186,7 +186,7 @@ void simple_decoder_parser_arc_eager(context *ctx)
     
     sumExp = 0;
     currentSumExp = 0;
-    ScoreTranslation = -10; // TO SETUP
+    ScoreTranslation = -60; // TO SETUP
     FlagNotInitExp = 1;
 
     if(ctx->debug_mode){
@@ -224,8 +224,9 @@ void simple_decoder_parser_arc_eager(context *ctx)
         ScoreTranslation += vcode_array[i].score/ProbaDivider;
         FlagNotInitExp = 0;
       }
-      if(vcode_array[i].score/ProbaDivider - ScoreTranslation > 0){
-        sumExp += exp(vcode_array[i].score/ProbaDivider - ScoreTranslation);
+//      if(vcode_array[i].score/ProbaDivider - ScoreTranslation > 0){
+        if(vcode_array[i].score - ScoreTranslation > 0){
+        sumExp += exp(ScoreTranslation - vcode_array[i].score );
       }	  
 	  }
 	}
@@ -240,10 +241,11 @@ void simple_decoder_parser_arc_eager(context *ctx)
 	  int b2 = respect_stack_constraint(ctx->partial_mode, c, movement_parser_type(vcode_array[i].class_code), movement_parser_label(vcode_array[i].class_code));
 	  int b3 = respect_buffer_constraint(ctx->partial_mode, c, movement_parser_type(vcode_array[i].class_code), movement_parser_label(vcode_array[i].class_code));
 	  if(b1 && b2 && b3){
-      if(vcode_array[i].score/ProbaDivider - ScoreTranslation > 0){
+   //   if(vcode_array[i].score/ProbaDivider - ScoreTranslation > 0){
+        if(vcode_array[i].score - ScoreTranslation > 0){
         printf(" %f %f %f",sumExp, currentSumExp,ScoreTranslation);
         printf(" [%f-",currentSumExp/sumExp);
-        currentSumExp += exp(vcode_array[i].score/ProbaDivider - ScoreTranslation);
+        currentSumExp += exp(ScoreTranslation - vcode_array[i].score);
         printf("%f[", currentSumExp/sumExp);
       }
       printf("\t<----");
@@ -283,7 +285,8 @@ void simple_decoder_parser_arc_eager(context *ctx)
                 int b3 = respect_buffer_constraint(ctx->partial_mode, c, movement_parser_type(vcode_array[i].class_code), movement_parser_label(vcode_array[i].class_code));
 
                 if(b1 && b2 && b3){
-                  currentSumExp += exp(vcode_array[i].score/ProbaDivider - ScoreTranslation);
+                //  currentSumExp += exp(vcode_array[i].score/ProbaDivider - ScoreTranslation);
+                    currentSumExp += exp(ScoreTranslation - vcode_array[i].score);
                   if(currentSumExp/sumExp >= randomFloat){ 
                     printf("The %d th move has been selected by the probabilistic parser.\n",i);
                     mvt_code = vcode_array[i].class_code;