anchor.diff:  
       let testMultiGPLayer device =
   
  +        
           let seed = 1
           let rand = Random(seed)
   
  
positive.code:         let ntraining = 10
          let ntest = 10
  
          let m: ExprT<single> = Expr.var "m" [SizeSpec.symbol "nTstSmpls";SizeSpec.symbol "nGPs"; SizeSpec.symbol "nGPs"]
          let psd = m.* m
          let cmplr = DevHost.Compiler, CompileEnv.empty
          let makePsd = Func.make cmplr psd |> arg1 m
  
          let mb = ModelBuilder<single> "Test"
  
  
negative.code:             let inp_mean_val = inp_meanhost |> post device
  
              let inp_covhost =  rand.UniformArrayND (0.0f ,2.0f) [1;ngps;ngps]
              let inp_covhost = fPsd inp_covhost
              let inp_cov_val = inp_covhost |> post device
              
              
              let pred_mean, pred_cov = pred_mean_cov_fn inp_mean_val inp_cov_val
              
              let testInOut = {
                  In_Mean = inp_meanhost;
                  In_Cov = inp_covhost;
                  Pred_Mean = pred_mean;
                  Pred_Cov = pred_cov}
  
              printfn "Lengthscales=\n%A" mi.ParameterStorage.[!mgp.Lengthscales]
              printfn "TrnX=\n%A" mi.ParameterStorage.[!mgp.TrnX]
              printfn "TrnT=\n%A" mi.ParameterStorage.[!mgp.TrnT]
              printfn "TrnSigma=\n%A" mi.ParameterStorage.[!mgp.TrnSigma]
              printfn ""
              printfn "inp_mean=\n%A" inp_mean_val
              printfn "inp_cov=\n%A" inp_cov_val
              printfn ""
              printfn "pred_mean=\n%A" pred_mean
              printfn "pred_cov=\n%A" pred_cov
  
              testInOut
          
  