anchor.diff:          
   
           {
  +            csId            = hash
  +            csMethod        = meth
               csLocalSize     = localSize
               csBuffers       = buffers
               csImages        = images
  
positive.code: 
  
  
      let ofExpr (localSize : V3i) (body0 : Expr) =
          let body1, state = Preprocessor.preprocess localSize body0
          let body2 = Optimizer.ConstantFolding.evaluateConstants'' (fun m -> m.DeclaringType.FullName = "FShade.Primitives") body1
  
  
negative.code:                 let hash = Expr.ComputeHash body
  
                  cache.GetOrAdd((hash, maxLocalSize), fun (signature, maxLocalSize) ->
                      let localSize, meth =
                          match body.Method with
                              | Some mb -> 
                                  match mb.GetCustomAttributes<LocalSizeAttribute>() |> Seq.tryHead with
                                      | Some att -> V3i(att.X, att.Y, att.Z), mb
                                      | _ -> 
                                          Log.warn "[FShade] compute shader without local-size"
                                          V3i(1,1,1), mb
                              | None ->
                                  Log.warn "[FShade] compute shader without local-size"
                                  V3i(1,1,1), null
  
                      let localSize =
                          V3i(
  