 
         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];  //


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

        LOOP_TWO_RING_GPUSP(



        int cx, cy, cz;
        const real bin_edge = device_settings.bin_edge;
        const real inv_bin_edge = device_settings.inv_bin_edge;

        LOOP_TWO_RING_GPUSP(  //

