     const float mass, const float3 com,
     const float4 Q0,  const float4 Q1, float eps2) 
 {
+#if 1 
   const float3 dr = make_float3(pos.x - com.x, pos.y - com.y, pos.z - com.z);
   const float  r2 = dr.x*dr.x + dr.y*dr.y + dr.z*dr.z + eps2;
 

}



/*static __device__ float4 get_D04(float ds2, int selfGrav = 1) {
#if 1
  float ids  = rsqrtf(ds2);  //Does not work with zero-softening
  //   if(isnan(ids)) ids = 0;               //This does work with zero-softening, few percent performance drop
  //float ids  = (1.0f / sqrtf(ds2)) * selfGrav; Slower in Pre CUDA4.1
  ids *= selfGrav;
#else
  const float ids = (ds2 > 0.0f) ? rsqrtf(ds2) : 0.0f;
#endif
  const float ids2 = ids*ids;
  float ids3 = ids *ids2;
  float ids5 = ids3*ids2;
  float ids7 = ids5*ids2;
  return make_float4(ids, -ids3, +3.0f*ids5, -15.0f*ids7);
}  // 9 flops*/
#ifdef _QUADRUPOLE_


static __device__ __forceinline__ float4 add_acc(
    float4 acc, 


#define TEXTURES

template<int SHIFT, int BLOCKDIM2, int NI, bool INTCOUNT>
static __device__ 
uint2 approximate_gravity(
    float4 acc_i[NI],
    const float4 _pos_i[NI],
    const float4 groupPos,
