Promote the correction of words with a missing space character

Change-Id: I37ba618b54f7115163a3e9c6c555485e7024dc92
diff --git a/native/src/defines.h b/native/src/defines.h
index bdab19f..a5ed682 100644
--- a/native/src/defines.h
+++ b/native/src/defines.h
@@ -140,7 +140,7 @@
 // The following "rate"s are used as a multiplier before dividing by 100, so they are in percent.
 #define WORDS_WITH_MISSING_CHARACTER_DEMOTION_RATE 80
 #define WORDS_WITH_MISSING_CHARACTER_DEMOTION_START_POS_10X 12
-#define WORDS_WITH_MISSING_SPACE_CHARACTER_DEMOTION_RATE 80
+#define WORDS_WITH_MISSING_SPACE_CHARACTER_DEMOTION_RATE 75
 #define WORDS_WITH_EXCESSIVE_CHARACTER_DEMOTION_RATE 75
 #define WORDS_WITH_EXCESSIVE_CHARACTER_OUT_OF_PROXIMITY_DEMOTION_RATE 75
 #define WORDS_WITH_TRANSPOSED_CHARACTERS_DEMOTION_RATE 60
diff --git a/native/src/unigram_dictionary.cpp b/native/src/unigram_dictionary.cpp
index 89a1c9e..8e82f14 100644
--- a/native/src/unigram_dictionary.cpp
+++ b/native/src/unigram_dictionary.cpp
@@ -448,8 +448,14 @@
         word[i] = mWord[i - firstWordLength - 1];
     }
 
-    int pairFreq = ((firstFreq + secondFreq) / 2);
+    // Promote pairFreq with multiplying by 2, because the word length is the same as the typed
+    // length.
+    int pairFreq = firstFreq + secondFreq;
     for (int i = 0; i < inputLength; ++i) pairFreq *= TYPED_LETTER_MULTIPLIER;
+    if (DEBUG_DICT) {
+        LOGI("Missing space:  %d, %d, %d, %d, %d", firstFreq, secondFreq, pairFreq, inputLength,
+                TYPED_LETTER_MULTIPLIER);
+    }
     multiplyRate(WORDS_WITH_MISSING_SPACE_CHARACTER_DEMOTION_RATE, &pairFreq);
     addWord(word, newWordLength, pairFreq);
     return true;