diff --git a/pocketfft_hdronly.h b/pocketfft_hdronly.h
index 359375cd69bc4fe90e52ae9ff748d4bf2b23ff13..67087e691572f1a4d18518dbee171516c8a52a2d 100644
--- a/pocketfft_hdronly.h
+++ b/pocketfft_hdronly.h
@@ -497,8 +497,8 @@ struct util // hack to avoid duplicate symbols
       return (nthreads==0) ? size_t(omp_get_max_threads()) : nthreads;
       }
 #else
-    static size_t nthreads() { return 1; }
-    static size_t thread_num() { return 0; }
+    static constexpr size_t nthreads() { return 1; }
+    static constexpr size_t thread_num() { return 0; }
 #endif
   };
 
@@ -2014,8 +2014,9 @@ template<typename T0> class fftblue
       /* initialize a_k and FFT it */
       for (size_t m=0; m<n; ++m)
         akf[m] = c[m].template special_mul<bwd>(bk[m]);
+      auto zero = akf[0]*T0(0);
       for (size_t m=n; m<n2; ++m)
-        akf[m]=akf[0]*T0(0);
+        akf[m]=zero;
 
       plan.forward (akf.data(),1.);
 
@@ -2082,8 +2083,9 @@ template<typename T0> class fftblue
     template<typename T> void forward_r(T c[], T0 fct)
       {
       arr<cmplx<T>> tmp(n);
+      auto zero = T0(0)*c[0];
       for (size_t m=0; m<n; ++m)
-        tmp[m].Set(c[m], T0(0)*c[m]);
+        tmp[m].Set(c[m], zero);
       fft<false>(tmp.data(),fct);
       c[0] = tmp[0].r;
       memcpy (c+1, tmp.data()+1, (n-1)*sizeof(T));
@@ -2708,7 +2710,7 @@ template<typename T> NOINLINE void general_c2r(
     if (forward)
       for (; i<len-1; i+=2, ++ii)
         {
-        tdata[i  ] = in[it.iofs(ii)].r;
+        tdata[i  ] =  in[it.iofs(ii)].r;
         tdata[i+1] = -in[it.iofs(ii)].i;
         }
     else
@@ -2896,7 +2898,8 @@ template<typename T> void c2r(const shape_t &shape_out,
   stride_t stride_inter(shape_in.size());
   stride_inter.back() = sizeof(cmplx<T>);
   for (int i=int(shape_in.size())-2; i>=0; --i)
-    stride_inter[size_t(i)] = stride_inter[size_t(i+1)]*ptrdiff_t(shape_in[size_t(i+1)]);
+    stride_inter[size_t(i)] =
+      stride_inter[size_t(i+1)]*ptrdiff_t(shape_in[size_t(i+1)]);
   arr<complex<T>> tmp(nval);
   auto newaxes = shape_t({axes.begin(), --axes.end()});
   c2c(shape_in, stride_in, stride_inter, newaxes, forward, data_in, tmp.data(),