anchor.diff:                  let mutable result = []
                   let N = weights.Length - 1
                   for i in 0..Array.length trainingSet - 1 do
  -                    inputs0.Scatter(fst trainingSet.[i] |> padToMultipleOf blockSize)
  +                    inputs0.Scatter(fst trainingSet.[i] |> prependForBias |> padToMultipleOf blockSize)
   
                       for j in 0..N do
                           let lastOutput = if j = 0 then inputs0 else outputs.[j - 1]
  
positive.code:                         coerceKernel.Launch coerceLp outputs.[j].Ptr 0 1.0f
                          coerceKernel.Launch coerceLp dOutputs.[j].Ptr 0 0.0f
  
                      result <- (outputs.[N].Gather(), dOutputs.[N].Gather()) :: result
                  result
         ) }
  
  
negative.code:     let nnetProps = 
          {
              Weights = layeredDbn |> List.map (fun rbm -> prependColumn rbm.HiddenBiases rbm.Weights);
              Activations = layeredDbn |> List.map (fun _ -> (sigmoid, sigmoid >> dSigmoid))
          }
  
      let sigmoidTemplate (blockSize:int) = cuda {
  