func (_ SigmoidCECost) CostR(v autofunc.RVector, x linalg.Vector, a autofunc.RResult) autofunc.RResult { logsig := autofunc.LogSigmoid{} log := logsig.ApplyR(v, a) invLog := logsig.ApplyR(v, autofunc.ScaleR(a, -1)) xVar := autofunc.NewRVariable(&autofunc.Variable{x}, v) oneMinusX := autofunc.AddScalerR(autofunc.ScaleR(xVar, -1), 1) sums := autofunc.AddR(autofunc.MulR(xVar, log), autofunc.MulR(oneMinusX, invLog)) return autofunc.ScaleR(autofunc.SumAllR(sums), -1) }