diff --git a/native/jni/src/binary_format.h b/native/jni/src/binary_format.h
index 9a8c315..6df92bf 100644
--- a/native/jni/src/binary_format.h
+++ b/native/jni/src/binary_format.h
@@ -246,7 +246,7 @@
     /* See the note in attributeAddressSize. The same applies here */
 }
 
-static inline int shortcutByteSize(const uint8_t *const dict, const int pos) {
+static AK_FORCE_INLINE int shortcutByteSize(const uint8_t *const dict, const int pos) {
     return ((int)(dict[pos] << 8)) + (dict[pos + 1]);
 }
 
diff --git a/native/jni/src/defines.h b/native/jni/src/defines.h
index 894e5f1..f32ebec 100644
--- a/native/jni/src/defines.h
+++ b/native/jni/src/defines.h
@@ -167,15 +167,15 @@
     }
     AKLOGI("Total time is %6.3f ms.",
             profile_buf[PROF_BUF_SIZE - 1] * 1000.0f / static_cast<float>(CLOCKS_PER_SEC));
-    float all = 0;
+    float all = 0.0f;
     for (int i = 0; i < PROF_BUF_SIZE - 1; ++i) {
         all += profile_buf[i];
     }
-    if (all == 0) all = 1;
+    if (all < 1.0f) all = 1.0f;
     for (int i = 0; i < PROF_BUF_SIZE - 1; ++i) {
-        if (profile_buf[i]) {
+        if (profile_buf[i] > 0.0f) {
             AKLOGI("(%d): Used %4.2f%%, %8.4f ms. Called %d times.",
-                    i, (profile_buf[i] * 100 / all),
+                    i, (profile_buf[i] * 100.0f / all),
                     profile_buf[i] * 1000.0f / static_cast<float>(CLOCKS_PER_SEC),
                     profile_counter[i]);
         }
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index 6bd46cc..4b08d6a 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -17,7 +17,7 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.android.inputmethod.latin.tests">
 
-    <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="16" />
+    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="16" />
 
     <uses-permission android:name="android.permission.READ_CONTACTS" />
 
