anchor.diff:      member a.ceil() =
           let inline fRaw(a:RawTensor) = a.CeilT()
           let inline fTensor(a:Tensor) = a.ceil()
  -        let inline dfTensorFwd(ap,ad,cp:Tensor) = cp.zerosLike()
  -        let inline dfTensorRev(a) = CeilT(a)
  -        Tensor.OpUnary(a, fRaw, fTensor, dfTensorFwd, dfTensorRev)
  +        let inline dfFwd(ap,ad,fp:Tensor) = fp.zerosLike()
  +        let inline dfRev(a) = CeilT(a)
  +        Tensor.OpUnary(a, fRaw, fTensor, dfFwd, dfRev)
   
       /// <summary>A method to enable the use of the F# function <c>ceil</c>.</summary>
       static member Ceiling(a:Tensor) = a.ceil() // needed for FSharp.Core ceil operator overload
  
positive.code:     member a.sin() =
          let inline fRaw(a:RawTensor) = a.SinT()
          let inline fTensor(a:Tensor) = a.sin()
          let inline dfTensorFwd(ap:Tensor,ad,cp:Tensor) = ad * ap.cos()
          let inline dfTensorRev(a) = SinT(a)
          Tensor.OpUnary(a, fRaw, fTensor, dfTensorFwd, dfTensorRev)
  
      /// <summary>A method to enable the use of the F# function <c>sin</c>.</summary>
      static member Sin(a:Tensor) = a.sin() // needed for FSharp.Core sin operator overload
  
negative.code:     member a.atan() =
          let inline fRaw(a:RawTensor) = a.AtanT()
          let inline fTensor(a:Tensor) = a.atan()
          let inline dfFwd(ap:Tensor,ad,fp:Tensor) = ad / (1. + ap*ap)
          let inline dfRev(a) = AtanT(a)
          Tensor.OpUnary(a, fRaw, fTensor, dfFwd, dfRev)
  
      /// <summary>A method to enable the use of the F# function <c>atan</c>.</summary>
      static member Atan(t:Tensor) = t.atan() // needed for FSharp.Core atan operator overload
  