## Description

Computes the two transformations, including their inverse and the first two derivatives.

## Usage

 ```1 2 3 4``` ```logloglink(theta, bvalue = NULL, inverse = FALSE, deriv = 0, short = TRUE, tag = FALSE) loglogloglink(theta, bvalue = NULL, inverse = FALSE, deriv = 0, short = TRUE, tag = FALSE) ```

## Arguments

 `theta` Numeric or character. See below for further details. `bvalue` Values of `theta` which are less than or equal to 1 or e can be replaced by `bvalue` before computing the link function value. The component name `bvalue` stands for “boundary value”. See `Links` for more information. `inverse, deriv, short, tag` Details at `Links`.

## Details

The log-log link function is commonly used for parameters that are greater than unity. Similarly, the log-log-log link function is applicable for parameters that are greater than e. Numerical values of `theta` close to 1 or e or out of range result in `Inf`, `-Inf`, `NA` or `NaN`. One possible application of `loglogloglink()` is to the k parameter (also called `size`) of `negbinomial` to Poisson-like data but with only a small amount of overdispersion; then k is a large number relative to `munb`. In such situations a `loglink` or `loglog` link may not be sufficient to draw the estimate toward the interior of the parameter space. Using a more stronger link function can help mitigate the Hauck-Donner effect `hdeff`.

## Value

For `logloglink()`: for `deriv = 0`, the log of `log(theta)`, i.e., `log(log(theta))` when `inverse = FALSE`, and if `inverse = TRUE` then `exp(exp(theta))`.

For `loglogloglink()`: for `deriv = 0`, the log of `log(log(theta))`, i.e., `log(log(log(theta)))` when `inverse = FALSE`, and if `inverse = TRUE` then `exp(exp(exp(theta)))`.

For `deriv = 1`, then the function returns d `theta` / d `eta` as a function of `theta` if `inverse = FALSE`, else if `inverse = TRUE` then it returns the reciprocal.

Here, all logarithms are natural logarithms, i.e., to base e.

## Note

Numerical instability may occur when `theta` is close to 1 or e unless `bvalue` is used.

## References

McCullagh, P. and Nelder, J. A. (1989). Generalized Linear Models, 2nd ed. London: Chapman & Hall.

`Links`, `loglink`, `logofflink`.
 ```1 2 3 4 5 6 7``` ```x <- seq(0.8, 1.5, by = 0.1) logloglink(x) # Has NAs logloglink(x, bvalue = 1.0 + .Machine\$double.eps) # Has no NAs x <- seq(1.01, 10, len = 100) logloglink(x) max(abs(logloglink(logloglink(x), inverse = TRUE) - x)) # Should be 0 ```