Computes log(sum(exp(x))) in a numerically stable way.
Details
Uses the identity: log(sum(exp(x))) = max(x) + log(sum(exp(x - max(x)))) This avoids overflow when x contains large positive values.
Examples
# Direct computation would overflow
x <- c(1000, 1001, 1002)
log_sum_exp(x) # Returns ~1002.41
#> [1] 1002.408