anchor.diff:      member a.log10() =
           let inline fRaw(a:RawTensor) = a.Log10T()
           let inline fTensor(a:Tensor) = a.log10()
  -        let inline dfTensorFwd(cp,ap:Tensor,ad) = ad / (ap * log10Val)
  +        let inline dfTensorFwd(ap:Tensor,ad,cp) = ad / (ap * log10Val)
           let inline dfTensorRev(a) = Log10T(a)
           Tensor.OpUnary(a, fRaw, fTensor, dfTensorFwd, dfTensorRev)
   
  
positive.code:         Shape.checkCanMaxunpool3d a.dtype a.shape indices.dtype indices.shape outputSize |> ignore
          let inline fRaw(a:RawTensor) = a.MaxUnpool3D(indices.primalRaw, outputSize)
          let inline fTensor(a:Tensor) = a.maxunpool3d(indices, kernelSizes=kernelSizes, strides=strides, paddings=paddings, outputSize=outputSize)
          let inline dfTensorFwd(cp:Tensor,ap:Tensor,ad:Tensor) = ad.maxunpool3d(indices, kernelSizes=kernelSizes, strides=strides, paddings=paddings, outputSize=outputSize)
          let inline dfTensorRev(a) = MaxUnpool3DT(a, indices)
          Tensor.OpUnary(a, fRaw, fTensor, dfTensorFwd, dfTensorRev)
  
  
negative.code:         | ValueNone ->
              let inline fRaw(a:RawTensor) = a.DivTT0(b)
              let inline fTensor(a) = a / b
              let inline dfTensorFwd(ap,ad,cp) = ad / b
              let inline dfTensorRev(a) = DivTT0Const(a,b)
              Tensor.OpUnary(a, fRaw, fTensor, dfTensorFwd, dfTensorRev)
  
  