                         for x in min_x...max_x {
                             
                             let _k = Float64ColorPixel(_kernel.pointee)
-                            let w = exp(_c0 * Double(x * x + y * y) + _c1 * dot(_p, _k))
+                            let w = exp(_c0 * Double(x * x) + _c1 * Double(y * y) + _c2 * dot(_p, _k))
                             
                             s += w * _k
                             t += w

        return d.color.reduce(d.opacity * d.opacity) { $0 + $1 * $1 }
    }
    
    let _r = Int(ceil(6 * spatial)) >> 1
    
    var result = texture
    
    let width = texture.width
    let height = texture.height
    
    let _c0 = -0.5 / (spatial * spatial)
    let _c1 = -0.5 / (range * range)
    
    result.withUnsafeMutableBufferPointer {
        

        return d._color.reduce(d._opacity * d._opacity) { $0 + $1 * $1 }
    }
    
    let _r0 = Int(ceil(6 * spatial.width)) >> 1
    let _r1 = Int(ceil(6 * spatial.height)) >> 1
    
    var result = texture
    
    let width = texture.width
    let height = texture.height
    
    let _c0 = -0.5 / Pixel.Scalar(spatial.width * spatial.width)
    let _c1 = -0.5 / Pixel.Scalar(spatial.height * spatial.height)
    let _c2 = -0.5 / Pixel.Scalar(range * range)
    
    result.withUnsafeMutableBufferPointer {
        
