 
         int cx, cy, cz;
         const real bin_edge = device_settings.bin_edge;
-        const real inv_bin_edge = real(1.0) / bin_edge;
+        const real inv_bin_edge = device_settings.inv_bin_edge;
 
         LOOP_TWO_RING_GPUSP(real vnx = grid_vel[current_node * 3 + 0];  //
                             real vny = grid_vel[current_node * 3 + 1];  //

        real3 V_pic = real3(0.0);

        const real bin_edge = device_settings.bin_edge;
        const real inv_bin_edge = real(1.0) / bin_edge;
        int cx, cy, cz;

        LOOP_TWO_RING_GPUSP(


#define LOOP_TWO_RING_GPU(X)                                                                                         \
    const real bin_edge = device_settings.bin_edge;                                                                  \
    const real inv_bin_edge = device_settings.inv_bin_edge;                                                          \
                                                                                                                     \
    const int cx = GridCoord(xi.x, inv_bin_edge, system_bounds.minimum[0]);                                          \
    const int cy = GridCoord(xi.y, inv_bin_edge, system_bounds.minimum[1]);                                          \
