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 6c04ef932741c7dd18fd93b7506c78286abfda09..9fe73aa1cf2e4e34f6810e29dfc15e30ce1dbf62 100644
--- a/maca_trans_parser/src/simple_decoder_parser_arc_eager.c
+++ b/maca_trans_parser/src/simple_decoder_parser_arc_eager.c
@@ -151,7 +151,7 @@ void simple_decoder_parser_arc_eager(context *ctx)
   int index;
   float score;
   
-  double sumExp = -1.;
+  double sumExp = -1;
   double currentSumExp = 0.;
   double ScoreTranslation = -10.;
   
@@ -194,13 +194,13 @@ 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){
-      if(sumExp < -0.5){
+      if(sumExp + 0.5 < 0){
         printf(" %f %f %d ",ScoreTranslation,vcode_array[i].score, i);
         ScoreTranslation += vcode_array[i].score;
         printf(" %f " ,ScoreTranslation);
         sumExp = 0.;
       }
-      if(vcode_array[i].score - ScoreTranslation >= 0){
+      if(vcode_array[i].score - ScoreTranslation > 0){
         sumExp += exp(vcode_array[i].score - ScoreTranslation);
       }	  
 	  }
@@ -216,7 +216,7 @@ 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 - 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 - ScoreTranslation);