anchor.diff:      [<Benchmark(Baseline=true); BenchmarkCategory("addWithAlpha")>]
       member perf.addWithAlpha_PyTorch() = 
           // This code gets injected, see Program.fs
  -        if perf.tensorSize = 2048 && perf.dtypeName = "float32" && perf.deviceName = "cpu" then Thread.Sleep(62) else failwith "no time available" // PYTHON addWithAlpha
  +        if perf.tensorSize = 16 && perf.dtypeName = "float32" && perf.deviceName = "cpu" then Thread.Sleep(530) elif perf.tensorSize = 16 && perf.dtypeName = "float32" && perf.deviceName = "cuda" then Thread.Sleep(1873) elif perf.tensorSize = 16 && perf.dtypeName = "float64" && perf.deviceName = "cpu" then Thread.Sleep(482) elif perf.tensorSize = 16 && perf.dtypeName = "float64" && perf.deviceName = "cuda" then Thread.Sleep(1782) elif perf.tensorSize = 16 && perf.dtypeName = "int32" && perf.deviceName = "cpu" then Thread.Sleep(485) elif perf.tensorSize = 16 && perf.dtypeName = "int32" && perf.deviceName = "cuda" then Thread.Sleep(1804) elif perf.tensorSize = 2048 && perf.dtypeName = "float32" && perf.deviceName = "cpu" then Thread.Sleep(6) elif perf.tensorSize = 2048 && perf.dtypeName = "float32" && perf.deviceName = "cuda" then Thread.Sleep(14) elif perf.tensorSize = 2048 && perf.dtypeName = "float64" && perf.deviceName = "cpu" then Thread.Sleep(8) elif perf.tensorSize = 2048 && perf.dtypeName = "float64" && perf.deviceName = "cuda" then Thread.Sleep(14) elif perf.tensorSize = 2048 && perf.dtypeName = "int32" && perf.deviceName = "cpu" then Thread.Sleep(6) elif perf.tensorSize = 2048 && perf.dtypeName = "int32" && perf.deviceName = "cuda" then Thread.Sleep(17) elif perf.tensorSize = 65536 && perf.dtypeName = "float32" && perf.deviceName = "cpu" then Thread.Sleep(6) elif perf.tensorSize = 65536 && perf.dtypeName = "float32" && perf.deviceName = "cuda" then Thread.Sleep(4) elif perf.tensorSize = 65536 && perf.dtypeName = "float64" && perf.deviceName = "cpu" then Thread.Sleep(9) elif perf.tensorSize = 65536 && perf.dtypeName = "float64" && perf.deviceName = "cuda" then Thread.Sleep(4) elif perf.tensorSize = 65536 && perf.dtypeName = "int32" && perf.deviceName = "cpu" then Thread.Sleep(5) elif perf.tensorSize = 65536 && perf.dtypeName = "int32" && perf.deviceName = "cuda" then Thread.Sleep(3) else failwith "no time available" // PYTHON addWithAlpha
   
       [<Benchmark; BenchmarkCategory("addWithAlpha")>]
       member perf.addWithAlpha_TorchSharp() = 
  -        let n = perf.configure(Backend.Torch, 1) 
  +        let n = perf.configure(Backend.Torch, 10) 
           for _ in 1 .. n do 
               res4 <- tt.Add(tt, tt0)
  +
  +    [<Benchmark; BenchmarkCategory("addWithAlpha")>]
  +    member perf.addWithAlpha_RawTensor_Torch() = 
  +        let n = perf.configure(Backend.Torch, 10) 
  +        for _ in 1 .. n do res3 <- rawt.AddTT(rawt.MulTT0(rawt0)) // TODO: no optimised routine in RawTensor as yet
  +
  +    [<Benchmark; BenchmarkCategory("addWithAlpha")>]
  +    member perf.addWithAlpha_Tensor_Torch() = 
  +        let n = perf.configure(Backend.Torch, 10) 
  +        for _ in 1 .. n do res  <- t.add(t.mul(t0)) // TODO: no optimised routine in Tensor as yet
   
       [<Benchmark; BenchmarkCategory("addWithAlpha")>]
       member perf.addWithAlpha_RawTensor_Reference() = 
  -        let n = perf.configure(Backend.Reference, 1) 
  -        for _ in 1 .. n do res3 <- rawt.AddTT(rawt.MulTT0(rawt0)) // TODO: no optimised routine in RawTensor as yet
  -
  -    [<Benchmark; BenchmarkCategory("addWithAlpha")>]
  -    member perf.addWithAlpha_RawTensor_Torch() = 
  -        let n = perf.configure(Backend.Torch, 1) 
  +        let n = perf.configure(Backend.Reference, 10) 
           for _ in 1 .. n do res3 <- rawt.AddTT(rawt.MulTT0(rawt0)) // TODO: no optimised routine in RawTensor as yet
   
       [<Benchmark; BenchmarkCategory("addWithAlpha")>]
       member perf.addWithAlpha_Tensor_Reference() = 
  -        let n = perf.configure(Backend.Reference, 1) 
  -        for _ in 1 .. n do res  <- t.add(t.mul(t0)) // TODO: no optimised routine in Tensor as yet
  -
  -    [<Benchmark; BenchmarkCategory("addWithAlpha")>]
  -    member perf.addWithAlpha_Tensor_Torch() = 
  -        let n = perf.configure(Backend.Torch, 1) 
  +        let n = perf.configure(Backend.Reference, 10) 
           for _ in 1 .. n do res  <- t.add(t.mul(t0)) // TODO: no optimised routine in Tensor as yet
   
       //--------------------------------------------------------------
  
positive.code:     [<Benchmark(Baseline=true); BenchmarkCategory("addScalar")>]
      member perf.addScalar_PyTorch() = 
          // This code gets injected, see Program.fs
          if perf.tensorSize = 2048 && perf.dtypeName = "float32" && perf.deviceName = "cpu" then Thread.Sleep(185) else failwith "no time available" // PYTHON addScalar
  
      [<Benchmark; BenchmarkCategory("addScalar")>]
      member perf.addScalar_TorchSharp() = 
          let n = perf.configure(Backend.Torch, 1) 
          for _ in 1 .. n do 
              res4 <- tt.Add(tt0)
  
      [<Benchmark; BenchmarkCategory("addScalar")>]
      member perf.addScalar_RawTensor_Reference() = 
          let n = perf.configure(Backend.Reference, 1) 
          for _ in 1 .. n do res3 <- rawt.AddTT0(rawt0)
  
      [<Benchmark; BenchmarkCategory("addScalar")>]
      member perf.addScalar_RawTensor_Torch() = 
          let n = perf.configure(Backend.Torch, 1) 
          for _ in 1 .. n do res3 <- rawt.AddTT0(rawt0)
  
      [<Benchmark; BenchmarkCategory("addScalar")>]
      member perf.addScalar_Tensor_Reference() = 
          let n = perf.configure(Backend.Reference, 1) 
          for _ in 1 .. n do res  <- t + t0
  
      [<Benchmark; BenchmarkCategory("addScalar")>]
      member perf.addScalar_Tensor_Torch() = 
          let n = perf.configure(Backend.Torch, 1) 
          for _ in 1 .. n do res  <- t + t0
  
      //--------------------------------------------------------------
  
negative.code:     [<Benchmark(Baseline=true); BenchmarkCategory("ones")>]
      member perf.ones_PyTorch() = 
          // This code gets injected, see Program.fs
          if perf.tensorSize = 16 && perf.dtypeName = "float32" && perf.deviceName = "cpu" then Thread.Sleep(1669) elif perf.tensorSize = 16 && perf.dtypeName = "float32" && perf.deviceName = "cuda" then Thread.Sleep(5078) elif perf.tensorSize = 16 && perf.dtypeName = "float64" && perf.deviceName = "cpu" then Thread.Sleep(1659) elif perf.tensorSize = 16 && perf.dtypeName = "float64" && perf.deviceName = "cuda" then Thread.Sleep(5033) elif perf.tensorSize = 16 && perf.dtypeName = "int32" && perf.deviceName = "cpu" then Thread.Sleep(1597) elif perf.tensorSize = 16 && perf.dtypeName = "int32" && perf.deviceName = "cuda" then Thread.Sleep(4971) elif perf.tensorSize = 2048 && perf.dtypeName = "float32" && perf.deviceName = "cpu" then Thread.Sleep(14) elif perf.tensorSize = 2048 && perf.dtypeName = "float32" && perf.deviceName = "cuda" then Thread.Sleep(38) elif perf.tensorSize = 2048 && perf.dtypeName = "float64" && perf.deviceName = "cpu" then Thread.Sleep(16) elif perf.tensorSize = 2048 && perf.dtypeName = "float64" && perf.deviceName = "cuda" then Thread.Sleep(39) elif perf.tensorSize = 2048 && perf.dtypeName = "int32" && perf.deviceName = "cpu" then Thread.Sleep(14) elif perf.tensorSize = 2048 && perf.dtypeName = "int32" && perf.deviceName = "cuda" then Thread.Sleep(40) elif perf.tensorSize = 65536 && perf.dtypeName = "float32" && perf.deviceName = "cpu" then Thread.Sleep(1) elif perf.tensorSize = 65536 && perf.dtypeName = "float32" && perf.deviceName = "cuda" then Thread.Sleep(1) elif perf.tensorSize = 65536 && perf.dtypeName = "float64" && perf.deviceName = "cpu" then Thread.Sleep(2) elif perf.tensorSize = 65536 && perf.dtypeName = "float64" && perf.deviceName = "cuda" then Thread.Sleep(1) elif perf.tensorSize = 65536 && perf.dtypeName = "int32" && perf.deviceName = "cpu" then Thread.Sleep(1) elif perf.tensorSize = 65536 && perf.dtypeName = "int32" && perf.deviceName = "cuda" then Thread.Sleep(1) else failwith "no time available" // PYTHON ones
  
      [<Benchmark; BenchmarkCategory("ones")>]
      member perf.ones_TorchSharp() = 
  