anchor.diff:              let vSUpd = vSUpd |> Expr.checkFinite "vSUpd"
               let tauSite = tauSUpd 
               let vSite =  vSUpd
  -            let sigma = (Expr.invert sigma) + (Expr.diagMat tauSite) |> Expr.invert
  -            let mu = sigma.*(Expr.diagMat (1.0f/tauSite)).*vSite
  +            let sigma = sigma + (Expr.diagMat (1.0f/tauSite))
  +            let mu = sigma.*vSite
               sigma,mu,tauSite,vSite
   
           ///Update loop of the EP algorithm runs n iterations
  
positive.code:             
                  mean,cov
              | None ->
                  let kInv        = Expr.invert k
                  let kStar      = covMat x xStar
                  let mean = meanXStar + kStar.T .* kInv .* (y - meanX)
  
negative.code:             let newTauSite = (Expr.loop loopSpec chTauSite [tauSite;vSite;sigma;mu]).[nIters - 1,*]
              let newVSite = (Expr.loop loopSpec chVSite [tauSite;vSite;sigma;mu]).[nIters - 1,*] |> Expr.checkFinite "muSUpd" 
              newTauSite,newVSite
          let tauSite,vSite = optimize 5 (sigma,mu, tauSite,vSite)
          let covSite = (1.0f/tauSite)
          let muSite = (Expr.diagMat covSite) .* vSite
          covSite, muSite
  