diff --git a/src/core/NEON/kernels/arm_gemm/gemm_fp16.cpp b/src/core/NEON/kernels/arm_gemm/gemm_fp16.cpp
index d1180b1..fa12942 100644
--- a/src/core/NEON/kernels/arm_gemm/gemm_fp16.cpp
+++ b/src/core/NEON/kernels/arm_gemm/gemm_fp16.cpp
@@ -30,33 +30,31 @@
 #include "gemm_common.hpp"
 #include "gemm_interleaved.hpp"
 
-#include "kernels/a32_sgemm_8x6.hpp"
 #include "kernels/a64_hgemm_24x8.hpp"
 #include "kernels/a64_sgemm_12x8.hpp"
+#include "kernels/a32_sgemm_8x6.hpp"
 
-namespace arm_gemm
-{
-template <>
+namespace arm_gemm {
+
+template<>
 UniqueGemmCommon<__fp16, __fp16> gemm(const CPUInfo &ci, const unsigned int M, const unsigned int N, const unsigned int K,
                                       const unsigned int nbatches, const unsigned int nmulti,
                                       const bool trA, const bool trB, const __fp16 alpha, const __fp16 beta,
-                                      const int maxthreads, const bool pretransposed_hint)
-{
+                                      const int maxthreads, const bool pretransposed_hint) {
 #ifdef __aarch64__
 
-    // Only consider the native FP16 kernel if it will get built.
+// Only consider the native FP16 kernel if it will get built.
 #if defined(__ARM_FEATURE_FP16_VECTOR_ARITHMETIC) || defined(FP16_KERNELS)
 #ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
     // If the compiler is configured to enable this feature always, then assume it is available at runtime too.
-    const bool use_fp16 = true;
+    const bool use_fp16=true;
 #else
     // Otherwise, detect at runtime via CPUInfo.
-    const bool use_fp16 = ci.has_fp16();
+    const bool use_fp16=ci.has_fp16();
 #endif
 
     // If FP16 is supported, use it.
-    if(use_fp16)
-    {
+    if (use_fp16) {
         return UniqueGemmCommon<__fp16, __fp16>(new GemmInterleaved<hgemm_24x8, __fp16, __fp16>(&ci, M, N, K, nbatches, nmulti, trA, trB, alpha, beta, maxthreads, pretransposed_hint));
     }
 #endif
