function logcosh(yTrue, yPred) {
	  return tidy(function () {
	    var log2 = Math.log(2);
	    var predictionDiff = sub(yPred, yTrue);
	    var logcoshResult = sub(add$1(predictionDiff, softplus(mul(-2, predictionDiff))), log2);
	    return mean(logcoshResult, -1);
	  });
	}
Logarithm of the hyperbolic cosine of the prediction error.

`log(cosh(x))` is approximately equal to `(x ** 2) / 2` for small `x` and
to `abs(x) - log(2)` for large `x`. This means that 'logcosh' works mostly
like the mean squared error, but will not be so strongly affected by the
occasional wildly incorrect prediction.